0

したがって、以下の関数が行にヒットするたびに、OleDBException「未指定エラー」が発生しますdataAdapter.SelectCommand = dbcommand

追加しようdbcommand.connection.close()としdbcommand.connection.dispose()ましたが、どちらも問題を解決しませんでした。

DBに接続しようとするたびにこのエラーが発生すると思いますが、これは私のコードでそうする最初の関数にすぎないため、ここでエラーが最初に発生します。

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
4

0 に答える 0