.Net Système.OutOfMemoryException remplir un datatable

J'ai besoin d'extraire des données à partir d'un .dbf fichier et de le transformer en xml. J'ai écrit une routine qui le fait très bien. Toutefois, maintenant que nous rencontrons très grand .les fichiers dbf - like de plus de 2GO. Et ce code génère une exception OutOfMemoryException sur ces fichiers.

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

La chose est - si je lance ce même code sur mon ordinateur par le biais de Visual Studio en mode de débogage à l'encontre de la même 2GO .fichier dbf, aucune exception n'est levée. C'est presque comme Visual Studio gère la mémoire différemment alors l'application ne seul.

Est-il de toute façon de contourner les problèmes de mémoire? J'ai essayé à l'aide d'un DataAdapter avec des résultats similaires. Est ce comportement que je vois avec Visual Studio prévu/conception?

OriginalL'auteur brendan | 2009-09-24