.dbf ファイルからデータを抽出し、それを xml に変換する必要があります。私はそれをうまくやるルーチンを書きました。ただし、現在、2GB 以上の非常に大きな .dbf ファイルが発生しています。そして、このコードはそれらのファイルに対して OutOfMemoryException をスローします。
Public Function GetData() As DataTable
Dim dt As New DataTable(Name)
Dim sqlcommand As String= "Select * From MyTable"
Dim cn As New OleDbConnection(myconnectionstring)
Try
cn.Open()
Dim cmd As New OleDbCommand(sqlcommand, cn)
dt.Load(cmd.ExecuteReader())
Catch ex As Exception
Throw ex
Finally
dt.Dispose()
cn.Close()
cn.Dispose()
End Try
Return dt
問題は、同じ 2GB の .dbf ファイルに対してデバッグ モードで Visual Studio を使用して自分のコンピューターでこの同じコードを実行しても、例外はスローされないということです。Visual Studio がメモリを管理する方法と、アプリが単独で行う方法のようです。
とにかくメモリの問題を回避する方法はありますか? 同様の結果で DataAdapter を使用してみました。Visual Studio で見られるこの動作は、予期された仕様ですか?