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?