我连接SQL2000数据库的方法为
ConnectString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=chang;pwd=XXX;Data Source=SERVER"If DBtest.State <> adStateClosed Then DBtest.Close
DBtest.ConnectionString = ConnectString
DBtest.CursorLocation = adUseClient
DBtest.ConnectionTimeout = 5
DBtest.Open
为什么客户用我这个程序之前要先人工登录一下SERVER这台服务器连接才能成功呢?
而且登录一次后后面就不用再登录了,除非重启机器,就又得人工登录一下服务器才行,有什么解决方法么?
请大家帮忙

解决方案 »

  1.   

    在SQL server的数据库权限中设置为SQL server身份验证,而不是Windows身份验证
      

  2.   

    SQL Server的身份验证有两种:
    Windows身份验证,即需要连接用户能够成功的登录服务器,则SQL Server就承认他们是合法的用户。
    这种方式,ConnectionString属性设置为就不需要设置用户和密码信息了。还有一种就是SQL Server身份验证,这种就是需要在连接字符串中设置用户和密码的信息了。
    这种方式,ConnectionString属性设置为: "driver={SQL Server};" & _
          "server=bigsmile;uid=sa;pwd=pwd;database=pubs"具体请参见SQL server数据库的的安全性设置
      

  3.   

    在服务端将SQL的认证模式改为混合认证再试试
      

  4.   

    我服务器上配置安全性中的身份验证是设为SQL SERVER 和 Windows,不对么?请指教
      

  5.   

    To Leftie(左手,为人民币服务)
    服务端SQL的认证模式在哪里改呀?????
      

  6.   

    你的ConnectionString = "Data Source=Pubs;User ID=chang;Password=XXX;"看看是什么情况
      

  7.   

    上面错了
    你的ConnectionString = "Data Source=SERVER;User ID=chang;Password=XXX;"看看是什么情况
      

  8.   

    楼主的方法我觉得不好,
    我一般用读取INI文件去登陆服务器,你的代码不通用,很麻烦!
      

  9.   

    楼上的,说详细些???
    读取INI文件去登陆服务器??不懂
      

  10.   

    我记得win2003的安全策略上默认是禁止非交互用户从网络登录.
    如果你的服务器上2003你可以考虑这方面的因素
      

  11.   

    修改一下sql server的认证方式
      

  12.   

    我服务器上配置安全性中的身份验证是设为SQL SERVER 和 Windows(s)
    这样设不对么?