Salve a tutti.
Sto provando ad importare dei dati da un file Xml in una tabella di un DB Oracle.
Voglio utilizzare .NET framework per sviluppare questa applicazione.
Vi spiego i passi che seguo:
1) carico lo Schema Xsd nel in una istanza dell'oggetto XmlDataDocument
codice:
myXmlDataDocument = New XmlDataDocument()
Dim myStreamReader As StreamReader = Nothing
Try
myStreamReader = New StreamReader("pippo.xsd")
myXmlDataDocument.DataSet.ReadXmlSchema(myStreamReader)
Catch e As Exception
Console.WriteLine("Eccezione: " & e.ToString())
Finally
If Not myStreamReader Is Nothing Then
myStreamReader.Close()
End If
End Try
2) carico il file Xml nell'XmlDataDocument
codice:
myXmlDataDocument.Load(xmlDataPath)
3) cerco di fare l'Update con il DataAdapter
codice:
Dim myConn As New OleDbConnection("Provider=OraOLEDB.Oracle; Data Source=xxx; User Id=xxx; Password=xxx;")
Dim myAdapter As New OleDbDataAdapter()
myAdapter.SelectCommand = New OleDbCommand("select * from NOME_TABELLA", myConn)
myAdapter.Fill(myDataset, "NOME_TABELLA")
Dim myDataRowsCommandBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(myAdapter)
myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
myAdapter.Update(myDataset, "NOME_TABELLA")
myConn.Dispose()
Il problema è che il metodo UPDATE (del dataadapter) mi da questa eccezione:
codice:
Eccezione non gestita di tipo "System.InvalidOperationException" in system.data.dll
Informazioni aggiuntive: Generazione SQL dinamica non supportata per un
SelectCommand che non restituisce informazioni di
tabelle di base.
Vi è capitato ? ....sapete come risolvere il problema ? So che, anzichè far generare gli statement SQL in meniera automatica, si
possono specificare i vari comandi di UPDATE, INSERT, DELETE....ma sto cercando della documentazione all'altezza della
situazione su questo argomento. Avreste un paio di link da suggerirmi ?
Grazie mille a tutti coloro che interverranno alla discussione.
Ciao