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

求助:.Net 2.0下打不开到数据库的连接,错误代码40,怎么办啊?
我用自带的CreateUserWizard控件做用户注册,完成的那一块用自定义。我想在“继续”按钮的Click事件里给数据库里的另一张表添加数据。写完了运行的时候就出这种错误。因为是初学所以数据库我没动过,ConnectionString里Trusted_Connection=yes和User=sa;Pwd= ' '都试过了,都是40错误。代码贴在这里了,等高手来救我,先拜谢!


        protected   void   ContinueButton_Click(object   sender,   EventArgs   e)
        {
                SqlConnection   myConnection=new   SqlConnection( "server=(local);database=ASPNETDB.MDF;Trusted_Connection=yes ");
                myConnection.Open();
                SqlCommand   addNewUser=new   SqlCommand();
                addNewUser.CommandText= "insert   into   myWebsite_Users[id]   value[ "+User.Identity.Name+ "] ";
                addNewUser.ExecuteNonQuery();
                Response.Redirect( "~/Default.aspx ");
        }

错误的提示是
在建立与服务器的连接时出错。在连接到   SQL   Server   2005   时,在默认的设置下   SQL   Server   不允许进行远程连接可能会导致此失败。   (provider:   命名管道提供程序,   error:   40   -   无法打开到   SQL   Server   的连接)

------解决方案--------------------
ASPNETDB.MDF 是系统数据库,不建议(或不能/不允许)操作吧? 数据库连接字符串在 web.config 里配置,一般 ASPNETDB.MDF 是在自己的网站的 app_data 下,要配附加数据库文件,而你的 sqo server 指向 local,当然是不对的.
------解决方案--------------------
如果你用的sql数据库是2005 express版,请使用下面的连接字符串

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF;Integrated Security=True;User Instance=True