2013-05-17 4 views
0

Итак, я получаю исключение OleDBException «неопределенной ошибки» всякий раз, когда функция ниже попадает в строку dataAdapter.Fill (dataset).oledbexception 'неуказанная ошибка' при заполнении набора данных

Я попытался добавить dbcommand.connection.close() и dbcommand.connection.dispose(), но не исправил проблему.

Я предполагаю, что эта ошибка будет возникать каждый раз, когда я пытаюсь соединиться с БД, но это только первая функция, которая делает это в моем коде, так что здесь происходит ошибка.

Я читал онлайн, что MySQL в конечном итоге очистит старые соединения через некоторое время, если это правда, тогда мне просто нужно подождать .. но я не хочу ждать, пока ничего не произойдет.

Function GetOrders(ByVal _numberrecords As Long) As DataTable 
Dim TaxConnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConfigurationManager.AppSettings("Database") 
Dim dbConnection As OleDbConnection = New OleDbConnection(TaxConnStr) 
Try 
    'Code to get orders in call status. Sort oldest to newest 
    ' dbConnection.Open() 
    Dim queryString As String 
    queryString = "SELECT TOP " & _numberrecords & " Orders.Control_Number, Orders.State, Orders.County, Orders.Status, Orders.ZipCode, Orders.OrderNumber, Orders.Client, Orders.Department " 
    queryString += "FROM Orders " 
    queryString += "WHERE(((Orders.Status) = 'Tax Cert Call' Or (Orders.Status) = 'Online')) " 
    queryString += "ORDER BY Orders.Date_Received;" 
    Dim dbCommand As OleDbCommand = New OleDbCommand 
    dbCommand.CommandText = queryString 
    dbCommand.Connection = dbConnection 
    'dbCommand.Connection.Close() 
    'dbCommand.Connection.Dispose() 
    'dbCommand.Dispose() 
    Dim dataAdapter As OleDbDataAdapter = New OleDbDataAdapter 
    dataAdapter.SelectCommand = dbCommand 
    Dim dataSet As DataSet = New DataSet 
    dataAdapter.Fill(dataSet) 
    If dataSet.Tables(0).Rows.Count >= 1 Then 
     GetOrders = dataSet.Tables(0) 
    End If 

Catch ex As Exception 
    Console.WriteLine(ex.Message) 
    myLogger.Log(ex.Message) 
Finally 
    dbConnection.Close() 

    dbConnection.Dispose() 
End Try 

End Function

ответ

0

Нашли проблему. База данных доступа была повреждена. Я просто переделал базу данных, и все это работало, как соус.

Смежные вопросы