Trasferimento dati in modalità disconnessa

mercoledì 07 novembre 2007 - 08.42

AGiSoft Profilo | Newbie

Buongiorno alla comunità!
Avrei un problema sul trasferimento di dati da un database remoto (SQL Server) ad un database locale (Access)

Nel newsgroup microsoft ho cercato di risolvere il problema con alcune indicazioni di un MVP di cui non dico il nome per una questione di privacy ...in ogni caso...il problema non sono riuscito a risolverlo...

Se ho ben capito, secondo alcune indicazioni, devo riempire, passando un datatable ricavato in precedenza dal database remoto, il DataAdapter che punta ad un recordset del mio database locale. Giusto?

Il mio codicè è il seguente. Il problema è che non va in errore, viene eseguito tutto, ma alla fine il mio DB locale resta comunque vuoto. Consigli?

[Questa è la funzione che prende i dati dal db remoto e li memorizza in un DataTable che restituisco con la funzione stessa:]

Function GetTableMedici() As DataTable Dim Cn = GetConnection(SourceType.SqlServer) Dim cmd As IDbCommand = Cn.CreateCommand() Dim SQLstr As String = "SELECT .... FROM .... WHERE ...." Cn.Open() cmd.Connection = Cn cmd.CommandText = SQLstr Dim Da As New SqlDataAdapter(cmd) Dim Dt As New DataTable() Da.FillSchema(Dt, SchemaType.Source) Da.Fill(Dt) Cn.Close() Return Dt End Function
All'uscita di questa funzione, il mio DataTable (Dt) se riversato in una DataGridView attraverso un BindingSource, mi mostra tutti i valori che ho prelevato dal database remoto. La query di selezione quindi funziona.

Questa qui sotto invece è la funzione che dovrebbe riempire il mio DB locale attraverso il DataTable ricavato dalla Function scritta sopra:
Sub ImportMedici() 'Ricavo il datatable da remoto Dim DtRemote As New DataTable() DtRemote = ClassRemoteDb.GetTableMedici() 'La funzione scritta sopra Dim Cn As New OleDbConnection(vLocalCnString) Cn.Open() Dim Da As New OleDbDataAdapter("SELECT * FROM nometabella", Cn) Dim cmd As New OleDbCommandBuilder(Da) cmd.GetInsertCommand() cmd.GetUpdateCommand() Da.Update(DtRemote) End Sub

Ma alla fine di tutto, il database locale resta invariato, la tabella di destinazione esiste già, ed anche la sua struttura, ma resta vuota.
Cosa manca? Perchè resta vuota?

AGiSoft Profilo | Newbie

Alla fine ho risolto... vi posto la soluzione che ho adottato. Magari più servire ad altri

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5