日期:2014-05-19  浏览次数:20463 次

oledb连接SQLSERVER2005出错:[DBNETLIB][ConnectionOpen (Invalid Instance()).]无效的连接。
att,web.config为:
connectionString= "provider=SQLOLEDB;Data   Source=192.168.1.5;User   ID=sa;Password=123456;Initial   Catalog=test "     providerName= "SQLOLEDB "


当把Data   Source改为另一个ip(无数据库)时,提示为正常的:
[DBNETLIB][ConnectionOpen   (Connect()).]SQL   Server   不存在或拒绝访问。  

当把Data   Source改为另一个数据库(sa密码不同)时,提示应该也是正常的:
用户   'sa '   登录失败。  


这样我感觉我这边好像就没什么问题了,请问会是数据库那边设置的问题吗?我用SQL   Server   Management   Studio   Express连接数据库是完全正常的。

------解决方案--------------------
数据库那边要打开混合验证模式
右键单击数据库取属性,然后找找windows验证和sql server验证
------解决方案--------------------
就是Persist Security Info=True的问题。默认验证是SSPI,你加上这句
Persist Security Info=false,如果不对,就用Integrated Security = false
------解决方案--------------------
Integrated Security = false是SQL Server身份验证,true是windows身份验证。providerName用System.Data.SqlClient
------解决方案--------------------
这是我的一个windows身份验证字符串
<add name= "KSUsersConnectionString " connectionString= "Data Source=localhost;Initial Catalog=KSUsers;Integrated Security=True "
providerName= "System.Data.SqlClient " />