VC中使用ADO链接SQLSERVER数据库问题
调程序的时候遇到个莫名的错误,当我把server=127.0.0.1时,必须联网才能够打开数据库,而把server=local时,便会报错“未与信任的SQLServer连接相关联”,通过查询所得,解决方案如下:
症状
当您尝试连接到MicrosoftSQLServer2000时,可能收到以下错误信息:
Loginfailedforuser''.Reason:NotassociatedwithatrustedSQLServerconnection.
原因
当SQLServer2000安全身份验证设置为“仅Windows”,并且存在下列情况之一时,就会发生此问题:?您正在尝试使用SQLServer登录连接到SQLServer2000数据库。
?您正在尝试使用信任的SQLServer连接来连接到安装在基于MicrosoftWindows98的计算机上的SQLServer2000桌面引擎(也称为MSDE2000)数据库。
?您正在尝试从某Windows帐户连接到SQLServer2000数据库,而该帐户没有足够的权限连接到服务器。
替代方法
要解决此问题,请根据您遇到的症状使用下列方法之一:?SQLServer登录
使用有效的Windows登录连接到SQLServer。如果必须继续使用SQLServer登录,您可以将在SQLServer2000中的安全身份验证模式更改为“SQLServer和Windows”。为此,请按照下列步骤操作:1.启动企业管理器。
2.展开“MicrosoftSQLServers”,然后展开“SQLServer组”。
3.右键单击要更改为“SQLServer和Windows”身份验证的服务器,然后单击“属性”。
4.在“SQLServer属性”对话框中,单击“安全”选项卡,单击“SQLServer和Windows”,然后单击“确定”。
5.当提示您重新启动SQLServer服务时,单击“是”。
?SQLServer2000桌面引擎(MSDE2000)安装在基于MicrosoftWindows98的计算机上
当SQLServer2000桌面引擎安装在基于Windows98的计算机上时,必须使用标准的SQLServer登录连接到数据库。当您在基于Windows98的计算机上安装SQLServer2000桌面引擎时,不支持“仅Windows”身份验证模式。
?Windows帐户权限不足
要解决此问题,必须将Windows帐户添加到SQLServer,然后为用户需要访问的每个数据库授予适当的权限。为此,请按照下列步骤操作:1.启动企业管理器。
2.展开“MicrosoftSQLServer”,然后展开“SQLServer组”。
3.展开您的服务器,然后展开“安全”。
4.右键单击“登录”,然后单击“新建登录”。
5.在“SQLServer登录属性”对话框中,在“名称”框中输入Windows帐户名。在“域”列表中,选择该Windows帐户所属的域。
6.单击“数据库访问”选项卡,为客户端设置适当的权限,然后单击“确定”。
注意:在添加帐户后,您仍然必须为用户需要访问的各个数据库对象授予访问权限。
注意:我们建议您尽可能将SQLServer2000身份验证设置为“仅Windows”。