Newsgroup: it.comp.lang.visual-basic
Titolo: aiuto ADO : non so come uscirne

Ho realizzato una applicazione di questo tipo: un flusso di dati riempie in
maniera continua un tabella Access. il mio proogramma vb ad una certa ora
effettua una operazione: ad una certa ora copia il contenuto del database
access in un database SQL che sta in un altro pc.
Ora ho fatto tutte le prove possibili e il codice funziona.
ho dato in prova il mio programma e questa operazione di copia dei dati
fallisce sempre:
leggendo il liog mi trovo scrittop: impossibile eseguire l'operazione.
Ho l'impressione che chi sta usando la mia applicazione la stia facendo
puntare a percorsi sbagliati o cose del genere...!
eppure non faccio nulla di eccezionale! mi sposto sul primo record del db se
ci sono record e comincio a copiare un record alla volta nel db SQL : quali
istruzione posso mettere nel codice per capire il client qual w' lo stato
delle connesione: piu' informazioni possibili! per capire che cacchio sta
succedendo?
grazie anticipatamente a chi vorra'0 aiutarmi!

 succedendo?
se non hai detto di pių, suppongo che tu non sappia di pių. Ipotizzando che
il programma sia installato regolarmente (i vari riferimenti e controlli
sono correttamente disponibili), ti consiglierei solo di loggare
(provvisoriamente) ogni pių piccola fase, al limite ogni istruzione, giusto
per capire fin dove arriva e dove si blocca. Non per ultimo, l'utente
loggato che esegue il programma ha i permessi di accesso al db SQL?

 ha scritto nel messaggio
news:aPIW8.15918$K_4.3...@twister1.libero.it...


 Ho realizzato una applicazione di questo tipo: un flusso di dati riempie
in
CUT
...se puoi "smanettare un po" fai così...almeno io faccio così!
Fatti una piccola form di servizio
dentro
dichiari Private una Connection
un Command
Un recordset (opzionale vedi sotto)
...caso mai mettici un password di accesso per usarla solo tu!
dentro non metti altro che un bottone o più per connettersi al database che
vuoi...
se si connette ti avverte
se no c'è il trap dell'errore
e se non si connette già sei a molto....(ADO macchina cliente versione <> da
quella di sviluppo? Path assoluti diversi sulla macchina ospite?Permessi
sbagliati?)
dicevamo...se tutto va bene (connessione OK)
attiva una textbox multilinea e un altro tasto esegui....
...nel textbox metti una stringa SQL
....nel pulsante metti tutto il codice per eseguire un SQL .... io uso
ADODB.Command
...(opzionale) completa potresti anche dichiarare un recordset come
risultato del command
fai un trap dell'errore per vedere se fallisce il command e perchè!
A quel punto prova a fare un INSERT in una tabella ( o qualche altra query
SQL...per test, prova query che non restituiscono recordset...anche una
create table è ottima per provare!) e vedi che succede...se tutto va a
posto...oh beh...c'è un errore tuo logico...da qualche parte!...un bachino
che ti è scappato!..
p.s.
occhio che se fai query che restituiscono valori devi gestire il risultato
ad es. se faccio una select devo agganciarci il recordset per vedere che mi
ritorna....ma cmq se già la esegue tutto è ok!
P.p.s.
facendo questo sforzo ottieni anche un altro vantaggio....se il prog è in
beta tester ...puoi "aggieggiare" li archivi senza dover farti spedire il DB
e modificarlo....ma anche in un prog assodato mi ha salvato (+ che me i dati
del cliente) + di una volta...
Infatti capita la telefonata:
"Pronto? Marco? si....senta abbiamo pensato io e il nostro commercialista
che sarebbe importante inserire anche un altro campo alla descrizione delle
causali....si può fare?"
....(parte la pantomima)...la fai pesa ...cadi dalle nuvole...ti accordi sul
prezzo....vai da loro con l'exe aggiornato e con 'stà form di servizio
aggiungi un campo alla tabella...
:-)

 e da me funziona tutto perfettamente....
E' evidentemente una questione ambientale (setup, permessi, percorsi, etc.)