Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server vb6 ADODB TSQL过程调用在数据库迁移后退出工作_Sql Server_Sql Server 2005_Tsql_Vb6 - Fatal编程技术网

Sql server vb6 ADODB TSQL过程调用在数据库迁移后退出工作

Sql server vb6 ADODB TSQL过程调用在数据库迁移后退出工作,sql-server,sql-server-2005,tsql,vb6,Sql Server,Sql Server 2005,Tsql,Vb6,这段代码曾经在SQLServer2005上运行。现在,在使用ADODB连接到sql server 2008数据库的visual basic 6子程序中,它会抛出一个错误,说明: “用户“admin”登录失败” 此后,我验证了如果我将此sub的主体替换为此sub下面的替代代码,连接字符串是否有效。当我使用按钮运行小程序时,它会在星号线下方标记的位置停止。有什么想法吗?提前谢谢 Private Sub Command1_Click() Dim cSQLConn As New ADODB.Conne

这段代码曾经在SQLServer2005上运行。现在,在使用ADODB连接到sql server 2008数据库的visual basic 6子程序中,它会抛出一个错误,说明:

“用户“admin”登录失败”

此后,我验证了如果我将此sub的主体替换为此sub下面的替代代码,连接字符串是否有效。当我使用按钮运行小程序时,它会在星号线下方标记的位置停止。有什么想法吗?提前谢谢

Private Sub Command1_Click()

Dim cSQLConn As New ADODB.Connection
Dim cmdGetInvoices As New ADODB.Command
Dim myRs As New ADODB.Recordset
Dim dStartDateIn As Date
dStartDateIn = "2010/05/01"


cSQLConn.ConnectionString = "Provider=sqloledb;" _
         & "SERVER=NET-BRAIN;" _
         & "Database=DB_app;" _
         & "User Id=admin;" _
         & "Password=mudslinger;"

cSQLConn.Open

 cmdGetInvoices.CommandTimeout = 0


    sProc = "GetUnconvertedInvoices"
    'On Error GoTo GetUnconvertedInvoices_Err

    With cmdGetInvoices
        .CommandType = adCmdStoredProc
        .CommandText = "_sp_cwm5_GetUnCvtdInv"
        .Name = "_sp_cwm5_GetUnCvtdInv"
        Set oParm1 = .CreateParameter("@StartDate", adDate, adParamInput)
        .Parameters.Append oParm1
        oParm1.Value = dStartDateIn
        .ActiveConnection = cSQLConn

    End With

    With myRs
        .CursorLocation = adUseClient
        .LockType = adLockBatchOptimistic
        .CursorType = adOpenKeyset
        '.CursorType = adOpenStatic
        .CacheSize = 5000
        '***************************Debug stops here
        .Open cmdGetInvoices

    End With


    If myRs.State = adStateOpen Then
            Set GetUnconvertedInvoices = myRs
    Else
            Set GetUnconvertedInvoices = Nothing
    End If

End Sub
下面是验证连接字符串是否正常工作的代码

Dim cSQLConn As New ADODB.Connection
Dim cmdGetInvoices As New ADODB.Command
Dim myRs As New ADODB.Recordset

    cSQLConn.ConnectionString = "Provider=sqloledb;" _
             & "SERVER=NET-BRAIN;" _
             & "Database=DB_app;" _
             & "User Id=admin;" _
             & "Password=mudslinger;"
cSQLConn.Open

 cmdGetInvoices.CommandTimeout = 0


    sProc = "GetUnconvertedInvoices"


    With cmdGetInvoices
    .ActiveConnection = cSQLConn
    .CommandText = "SELECT top 5 * FROM tarInvoice;"
    .CommandType = adCmdText
    End With

    With myRs
        .CursorLocation = adUseClient
        .LockType = adLockBatchOptimistic
        '.CursorType = adOpenKeyset
        .CursorType = adOpenStatic
        '.CacheSize = 5000
        .Open cmdGetInvoices
    End With

    If myRs.EOF = False Then
        myRs.MoveFirst
        Do
            MsgBox "Record " & myRs.AbsolutePosition & " " & _
          myRs.Fields(0).Name & "=" & myRs.Fields(0) & " " & _
          myRs.Fields(1).Name & "=" & myRs.Fields(1)
          myRs.MoveNext
        Loop Until myRs.EOF = True
    End If

这可能不会导致您看到的错误,但根据:


“如果CursorLocation属性设置为adUseClient,则仅支持adOpenStatic设置。如果设置了不支持的值,则不会产生错误;将使用最接近的支持的CursorType。”

结果表明,这是sql server 2008中的链接数据库权限错误。我不得不删除链接,并用登录名/密码重新创建它

如果查看SQL Server错误日志,您将看到一条登录失败消息和一个与此列表中的错误状态号匹配的错误状态号。它显示的是什么状态?