采用SQL Server集成验证登录即NT验证方式时,无法连接上指定数据库
编号:QA004490
建立日期: 2001年11月25日 最后修改日期:2001年11月25日
所属类别:
zhfox1937:
操作系统:win98
编程工具:vb6.0
问题:我的机器是win98,我用vb6.0的ADO对象编程从局域网连接SQL Server2000数据库时出了问题,当数据库的安全选项设置为SQL Server标准登录时,用以下程序段可以连接上数据库:
Dim cn As New ADODB.Connection
cn.ConnectionString = "PROVIDER=SQLOLEDB;SERVER=server;uid=fst;pwd=222222;DATABASE=betsn"
cn.Open
其中server为数据库服务器名,betsn为数据库名,fst为标准登录方式的用户名,222222为密码,但是采用SQL Server集成验证登录即NT验证方式时无法连接上指定数据库,程序如下:
Dim cn As New ADODB.Connection
cn.ConnectionString = "PROVIDER=SQLOLEDB;SERVER=server;DATABASE=betsn"
cn.Open
因为采用集成验证登录所以省略了用户名和密码,我在NT上创建了一个全局组和一个帐号,将此帐号添加到全局组中,然后我在SQL Server2000的企业管理器中的登录项中把这个全局组映射成SQL Server登录帐号,并在要连接的数据库中添加了相应的数据库用户,但就是无法连接上数据库,请您指教哪里做法不对,最好能从NT的用户组和帐号设置、SQL Server的登录映射设置以及程序的连接进行详细说明,不胜感激,谢
回答:
连接字符中加上Integrated Security=SSPI;
即
PROVIDER=SQLOLEDB;SERVER=server;DATABASE=betsn;Integrated Security=SSPI;
说明采用nt域认证。
此问题由pikachu回答。
| |
|
|
| |
|
|