実行時に以下のコードがメモリリークを引き起こすのはなぜですか?このエラーは、Microsoft Visual Studio 2005または2008をvb.net言語で使用する場合にのみ発生します。私がC#を使用している場合、問題はありません。VB.NetではOracle Data Access(ODP)を使用したOracle Connectionのメモリリーク(C#はありません)
Dim strCon As String = "data source=SRV-10G;user id=Test;password=1234"
dim factory as DbProviderFactory = DbProviderFactories.GetFactory("Oracle.DataAccess.Client");
Dim conexao As IDbConnection = factory.CreateConnection
conexao.ConnectionString = strCon
conexao.Open()
For cont As Integer = 1 To 100000
Dim comando As IDbCommand = conexao.CreateCommand()
comando.CommandText = "Select * from tabela where campo = " & cont
Dim leitor As IDataReader = comando.ExecuteReader
While leitor.Read
Dim v As String = leitor.GetValue(1).ToString
End While
leitor.Close()
leitor.Dispose()
comando.Dispose()
Next
conexao.Close()
conexao.Dispose()
作業用のC#コードを投稿して、2つのコードを比較することはできますか。そして、メモリリークがあると思う理由を投稿することができます(プロセスメモリが増加し続ける、データベース接続が閉じられないなど)。 – ligos