连接数据库中“Trusted_Connection=no”是啥意思?

解决方案 »

  1.   

    如果你后台连接的是SQL数据库,同时SQL数据库需要用户名和密码才能连接的时候,需要改为Trusted_Connection=no,否则连接失败。SQL Server 2000采用两种不同的验证方式:Windows验证和SQL Server 2000验证用Windows验证连接时,不必指定一个用户ID及口令,连接验证使用Windows NT或2000的组帐号(group account)。
    要知道:SQL Server 2000 在连接验证之前,用户先用Windows NT或2000的组帐号在客户端成功登录至SQL Server 2000服务器,方能建立一个信任连接(Trusted connection),SQL Server从信任连接属性中获取用户的帐号信息,将其与Windows已定义的帐号信息匹配和分析,如果正确就连接成功,并将此Windows帐号作为连接至SQL Server 2000的用户ID。上文中的连接字中包含有:Trusted_Connection=yes;
    这就意味着连接将采用信任连接方式,但由于连接前没有用Windows组帐号(在ASP环境中是访问IIS服务帐号IUSR_计算机名,在ASP.NET环境中帐号是ASPNET)登录至SQL Server 2000服务器, 也就是说没有建立一个信任连接(Trusted connection),当然,SQL Server 2000连接也不能够成功。将Trusted_Connection=yes;删除或改为Trusted_Connection=no;
    这将不采用信任连接方式(也即不采用Windows验证方式),而改由SQL Server 2000验证方式,即在连接字中指定:User ID=user name;Password=user password;
    SQL Server 2000会将此用户ID和口令进行验证连接,而与Windows帐号无关。关于SQL Server 2000上述两种验证方式的设置(连接验证采用Windows和SQL Server验证,还是仅采用Windows验证),可以启动SQL Server 2000企业管理器,然后在安全性配置中设置。
      

  2.   

    'Trusted_Connection=no表示使用SQL身份认证连接,这是必须的 参考
      

  3.   

    就是用你的windows帐号登录数据库。适合域管理,微软推荐的方式,性能比数据库帐号登录稍慢,好处是不用写帐号密码,安全。