现在我在一个vb里面连接sql数据库。
 连接串:
Dim cnn As ADODB.Connection
cnn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=" & dbFileName & ";Data Source=myserver;user id=user password= pass"在另一个机器上测试时,如果用administrator 登陆,则可以连上数据库。
如果不是,则出错:
 “用户“null”登陆失败,原因:未与信任sql server连接相关联”
  同样的环境,可以用系统的odbc与sql server取的联系。这个问题如何解决呢?
用odbc连接串? 请高手指教。

解决方案 »

  1.   

    因為你的sql服務器上根本就沒有別的帳號權限呀
      

  2.   

    ODBC 
     Standard Security:"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"  Trusted connection:"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;"  Prompt for username and password:oConn.Properties("Prompt") = adPromptAlways
    oConn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;" 
    其實用ado就可以了的
      

  3.   

    谢谢,我用ado是测试成功了的,但是为什么系统的非adminstrator用户不可以呢?
          能告知吗?多谢了。
      

  4.   

    你的sqlserver是用什麼驗証方式?
      

  5.   

    你的驗証方式如果是winnt方式,它隻能用windows能用的adminstrator
    如果是sa ,你就看sqlserver中間怎麼進行設置用戶了
      

  6.   

    现在我对sqlserver的验证方式不太明白,好像是sql server和windows两种方式吧。
    可以动态设置吗?如果用odbc是不是没有这个区别呢。不管怎么样?我还是想弄明白这个问题,有这方面的文章介绍介绍?
      

  7.   

    你參考一下sql的線上說明書吧,偶要斷網了
      

  8.   

    这个问题解决了。
    sql server 有两中验证方式.
    一种时windows方式,一种时sql server用户方式 在设置connectionstring 的时候可以指定他使用那种方式和sql server连接。
    Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=farmprotect;Data Source=MAGY;Trusted_Connection=No;User ID =admin; Password= admin如果设置了参数Integrated Security=SSPI;则默认用windows方式,这样客户端必需要用administrator用户才可以。而且,我发现truested_connection 也要显示的说明是No,因为我如果不设置这个,问题还是同样。不知道说的对不对,请明者指教。