我将数据库附加到APP_Data下面,连接字符串如下;这样在本机上运行没得问题
<add name="conn" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\emp_a.MDF;Integrated Security=True;User Instance=True"/>我把程序发布在IIS上后,在局域网内的其它电脑上访问后,就报如下错误了无法打开用户默认数据库。登录失败。
用户 'NT AUTHORITY\SYSTEM' 登录失败
我在网上找了很多的方法,说要把连接字符串改为以"sa"用户登录<add name="conn" connectionString = "data source=.\sqlexpress;initial catalog=emp_a.MDF;user id=sa;pwd=sa" providerName="System.Data.SqlClient"/>这样后在本机上都报:无法打开登录所请求的数据库emp_a.MDF 用户 'sa' 登录失败。
我在sql server2005里面把登录方式都按"sql server和windows身份验证模式",并且启用了sa的登录状态,也重设了sa的密码有时候它会也报如下这样的错,我也就搞不懂了已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)我都快崩溃了,困扰我两天了,找尽了网上一切方法,甚至都重装sql server2005了都还是这样的,麻烦各们兄弟帮一下忙呀?非常非常感激不尽呀!

解决方案 »

  1.   

    可能是权限的问题。
    为什么sql2005的数据库要放到 app_data里面呢
      

  2.   

    这个好像得具体问题具体分析了。很多情况下都报这个错。http://hi.baidu.com/13137267798/blog/item/6addf51260bb71cbc2fd787e.html
    http://www.cnblogs.com/shunyao8210/archive/2008/03/11/1100664.html(这个好像你做过了。)
    http://www.cnblogs.com/gaoweipeng/archive/2009/03/22/1418797.html
      

  3.   

    无法打开用户默认数据库。登录失败。
    用户 'NT AUTHORITY\SYSTEM' 登录失败
    如果出现此问题,为你的数据库emp_a.MDF添加NT AUTHORITY\SYSTEM用户即可。emp_a.MDF--安全性--用户
      

  4.   

    给数据库
    添加个networkservice的权限看看
      

  5.   

    1、在SQL中附加你的数据库Data_name2、在Web.Config中:
    <add key="ConnStr" value="Data Source=(local);Database=Data_name;Uid=sa;Pwd=???5354"></add>
        <!--连接SQL数据库 -->
      

  6.   

    http://hi.baidu.com/hongfeisong/blog/item/96a4c158cb1afe84800a18b4.html/cmtid/abad97d6559d0a2206088b72
    希望可以帮到你