当我的SQL Server采用Windows身份验证的时候,ADO死活连接不上SQL Server,使用SQL Server身份验证的时候没有问题,请问这样的问题该如何处理?连接字符串如下
"Provider=SQLOLEDB;Server=sunboy;Database=mybbs;uid=sunboy;pwd=111;";

解决方案 »

  1.   

    好办,主要是Trusted_Connection的问题:Enterprise Managemer内,打开将服务器的属性对话框,在Security选项卡中,有一个选项Authentication。
    如果该选项是Windows NT only,则你的程序所用的连接字符串就一定要包含Trusted_Connection参数,并且其值必须为yes,如:
    "Provider=SQLOLEDB;Server=888;Trusted_Connection=yes"
      ";Database=master;uid=lad;";
    如果不按上述操作,程序运行时连接必然失败。
    如果Authentication选项是SQL Server and Windows NT,则你的程序所用的连接字符串可以不包含Trusted_Connection参数,如:
    "Provider=SQLOLEDB;Server=888;Database=master;uid=lad;pwd=111;";
    因为ADO给该参数取的默认值就是no,所以可以省略。我认为还是取默认值比较安全一些。
      

  2.   

    "Provider={SQL Server};Server=sunboy;DATABASE=mybbs;UID=sunboy;PWD=111";
    你的最后还多了一个;号
    或者
    "Provider=SQLOLEDB;Data Source=sunboy;Initial Catolog=mybbs;User ID=sunboy;Password=111";