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 " />