我在sql的查询分析器中执行 存储过程成功,但是在VB中报错:
[OLE/DB provider returned message: Microsoft Jet 数据库引擎打不开文件'\\Printer\test\DAY01.mdb'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。]我的源代码如下:
Private Sub Cmd2_Click()
On Error GoTo Errs
    Dim cmd As New ADODB.Command
    With cmd
        .ActiveConnection = Cn
        .CommandText = "PutAld" '-----存储过程名称
        .CommandType = adCmdStoredProc
        .Parameters("@host") = Val(txt(1))'-----主机类别
        .Parameters("@dt") = txt(0)'----日期
        .Parameters("@sql") = sql'----SQL语句
        .Parameters("@path") = path'----路径
        .Execute'-------- 在这里报错
        Debug.Print .Parameters("@sql").Value
    End With
Errs:
    Debug.Print ERR.Description
End Sub

解决方案 »

  1.   

    你的数据库文件被独占打开了!
    你用access打开数据库文件,然后在工具选项中设定数据库以共享方式打开就行了!
      

  2.   

    在Access里面关闭你用的数据库
      

  3.   

    没有其它的程序打开access,可是在查询分析器中能正常执行阿。
      

  4.   

    关闭access后,再尝试运行一下程序
      

  5.   

    我发现我的问题所在了,如果用Windows账户登录sql就不会有错误了!
    Dim cn As New ADODB.Connection
    cn.ConnectionString = "Provider=sqloledb;Connect timeout=5;Data Source=dell;Initial Catalog=tests;User Id=sa;Password=12345;"
    请问各位大虾,如果我使用windows账户连接sql,那应该怎么写上面的连接代码呢???????
      

  6.   

    我的服务器和客户机都是Server 2000的呀!
      

  7.   

    晕,居然会提示
    [OLE/DB provider returned message: Microsoft Jet 数据库引擎打不开文件'\\Printer\test\DAY01.mdb'。  它已经被别的用户以独占方式打开,或没有查看数据的权限。]
    你的代码有没有连接access文件?
      

  8.   

    连接到了,只是在查询分析其中用sa登录会出错,可是如果用Windows账户登录就不会有错误了!