Windows server 2003,2008 Web.Config 配置连接sql 使用 win身份验证时:
当连接sql server使用信任连接(参看Web.Config文件)时就会出这个错误,在Windows XP当中,ASP.NET的运行帐号是ASPNET,而在Windows server 2003,2008号则改为了Network Service,直接把这个用户加到sql server的登陆帐号里面就好了 当然添加ASPNET用户时也是如此
具体的解决方法:
第一步:把'NT AUTHORITY\NETWORK SERVICE' 添加到Administrator组中
我的电脑-->右键-->管理-->本地用户和组
选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。
第二步 在企业管理器中加入NetWord Service用户
打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->常规---->搜索---->高级----->立即查找----->找到:NETWORK SERVICE--->点击确定,此时返回到新建上面 登录名 文本中已有:NT AUTHORITY\NETWORK SERVICE
接着------->左边导航:服务器角色勾选sysadmin-----> 左边导航:用户映射---->勾选要连接的数据库或者所有数据库
到此为止: 测试一下 是不是成功了! 呵呵
下面为连接配置:
<connectionStrings>
<!--sql验证-->
<!--<add name="ConnectionString" connectionString="Server=.;Database=GA_GaGaHjt;Uid=sa;Pwd=sa" providerName="System.Data.SqlClient" />-->
<!--win验证-->
<add name="ConnectionString" connectionString="Database=GA_GaGaHjt;Server=.;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
注:使用win 身份验证时(本人使用微软企业库5.0) 必须写上:providerName="System.Data.SqlClient 否则会报错:
“The type Database cannot be constructed. You must configure the container to supply this value.”