I run codes to get all the columns for all my table in database using sqldatareader. But then the sqlserv.exe use up too many memory. i tried to dispose everything at the end of the program but still not work. or is it anything to do with the sql server 2005 itself?
this is the sample of my code.. i know it sounds noob, but i just want to get it work.. =_=''
Dim oraCommand As OracleCommand
Dim oraDr As OracleDataReader
Dim sqlCommand As SqlCommand
Dim sqlDr As SqlDataReader
Dim oraFieldCount, sqlFieldCount As Integer
Dim oraArr, sqlArr As New ArrayList
Dim strMissColPK, strMissColNotPK, strMissCol As String
Dim oraCount, sqlCount As Integer
Me.RichTextBox1.Clear()
If Me.chkData.Checked = False And Me.chkCol.Checked = False And Me.chkTable.Checked = False Then
Exit Sub
End If
For i As Integer = 0 To Me.ListBox1.SelectedItems.Count - 1
Try
oraCount = 0
sqlCount = 0
oraCon.Open()
oraCommand = New OracleCommand("select \* from " & Me.ListBox1.SelectedItems(i).ToString, oraCon)
oraDr = oraCommand.ExecuteReader
oraDr.Read()
oraFieldCount = oraDr.FieldCount
oraArr.Clear()
For j As Integer = 0 To oraDr.FieldCount - 1
oraArr.Add(oraDr.GetName(j).ToLower)
Next
oraDr.Close()
oraCommand = New OracleCommand("select count(\*) from " & Me.ListBox1.SelectedItems(i).ToString, oraCon)
oraDr = oraCommand.ExecuteReader
If oraDr.Read Then
oraCount = oraDr(0)
End If
sqlCOn.Open()
sqlCommand = New SqlCommand("select \* from " & Me.ListBox1.SelectedItems(i).ToString, sqlCOn)
sqlDr = sqlCommand.ExecuteReader() ## Here is where the system use about 2mb for each table. I have 400+ table ##
sqlDr.Read()
sqlFieldCount = sqlDr.FieldCount
sqlArr.Clear()
For j As Integer = 0 To sqlDr.FieldCount - 1
sqlArr.Add(sqlDr.GetName(j).ToLower)
Next
sqlDr.Close()
sqlCommand = New SqlCommand("select count(\*) from " & Me.ListBox1.SelectedItems(i).ToString, sqlCOn)
sq