2015-04-05 54 views
0

我想用VistaDB做一個XML導出數據庫。不幸的是,我迷路了。如何使用VistaDB進行數據庫備份?

這裏是我到目前爲止的代碼:

Dim instance As IVistaDBDatabase 
    Dim value As System.Int64 

    SaveFileDialog2.InitialDirectory = "C:\" 
    Select Case SaveFileDialog2.ShowDialog() 
     Case Windows.Forms.DialogResult.OK 
      Try 
       instance.ExportXml(SaveFileDialog2.FileName, VistaDBXmlWriteMode.All) 
      Catch ex As Exception 
       MsgBox(ex.ToString) 
      End Try 
    End Select 

我得到的是對象不設置到對象的實例(或類似的東西)。

任何人都可以提供這樣的指導?

+0

你在哪裏分配你的'實例'變量到一個具體的對象?例如:'instance = getVistaDb()'? – 2015-04-06 09:10:50

回答

0

我能夠在舊的代碼包的幫助下弄清楚它。 這裏是正確的代碼:

Dim vdbDatabase As IVistaDBDatabase = Nothing 
    Dim filenameDB As String = SaveFileDialog2.FileName 
    Dim filenameXML As String = SaveFileDialog2.FileName 

    Select Case SaveFileDialog2.ShowDialog() 
     Case System.Windows.Forms.DialogResult.OK 
      Try 

       ' Call the method that will open the connection to the database and return an open IVistaDBDatabase object for the database to us 
       vdbDatabase = DDA.VistaDBEngine.Connections.OpenDDA.OpenDatabase("C:\Ledger.vdb5", VistaDBDatabaseOpenMode.NonexclusiveReadOnly, Nothing) 


       ' Clear the XML Transfer List - this is the list used by the Import/Export methods 
       vdbDatabase.ClearXmlTransferList() 

       ' Loop through the tables in the database and add them to the XmlTransferList 
       For Each tableName As String In vdbDatabase.GetTableNames() 
        vdbDatabase.AddToXmlTransferList(tableName) 
       Next 


       ' Call the ExportXML method with the name of the XML  file and the WriteMode value indicating what to Export 
       vdbDatabase.ExportXml(filenameXML, VistaDBXmlWriteMode.All) 

       ' If the database is open - close it 
       If Not vdbDatabase.IsClosed Then 
        vdbDatabase.Close() 
       End If 
       MsgBox("Database Export complete.", MsgBoxStyle.Information) 
      Catch ex As Exception 
       WriteErrorEvent("Error exporting Database in addin", ex) 
       MsgBox("An error occured attempting to export the Database. Error Message:" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Exclamation) 
      Finally 
       ' If we have a vdbDatabase object    
       If Not (vdbDatabase Is Nothing) Then 
        ' If it is open, close it 
        If Not vdbDatabase.IsClosed Then 
         vdbDatabase.Close() 
        End If 

        ' Dispose of the object 
        vdbDatabase.Dispose() 
       End If 
      End Try 
    End Select