OLEDB错误代码DB_SEC_E_AUTH_FAILED(0x80040E4D)

时间:2014-09-22 21:35:15

标签: vb.net oledb

我正在使用以下代码为我的项目加载

拉取命令行参数
Public Sub CMD()

        Dim sCommandLine() As String
        sCommandLine = Split(Command$, ",")

        If sCommandLine(0) = "" Then
            Exit Sub
        End If

        RiskChoose = Microsoft.VisualBasic.Trim(sCommandLine(0))
        RiskCode = Microsoft.VisualBasic.Trim(sCommandLine(1))
        RiskDate = Microsoft.VisualBasic.Trim(sCommandLine(2))
        txtUnitCode.Text = RiskCode.ToString
        TextBox1.Text = RiskChoose
    End Sub

然后应该使用RiskCode的值填充文本框,然后运行后续的OLEDB查询并填充其他一些文本框

这似乎工作正常,如果将命令行添加到VS2012的“Debug”部分,它会选择正确的值并打开项目。

当我构建项目并通过提供命令行参数的二次项目运行时出现问题。当我点击从第二个项目中加载第一个项目时,我得到以下错误DB_SEC_E_AUTH_FAILED(0x80040E4D),它指向以下查询代码中的以下行(son.open())。

   Public Sub NameQuery()
        Try
            Dim search As String = txtUnitCode.Text
            Dim aClients As String = My.Settings.ClientDBLoc
            Dim lnText As String = String.Empty
            Dim sConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & aClients & ""
            Using son As New OleDb.OleDbConnection(sConnString)
                son.Open() '''''''''''''This is the error line
                If txtUnitCode.Text = "" Then Exit Sub
                Dim cmd As New OleDb.OleDbCommand("SELECT LongName FROM Units " & "WHERE (Code = ?) AND (UnitIsDead = False)", son)
                cmd.Parameters.AddWithValue("@a1?", search)
                Dim r As OleDb.OleDbDataReader = cmd.ExecuteReader()
                If Not r.HasRows Then Exit Sub
                Do While r.Read()
                    lnText = lnText & r.GetValue(0)
                Loop
            End Using
            txtUnitName.Text = lnText
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    End Sub

知道为什么这可能是??

由于

0 个答案:

没有答案