VS2008连接SQL server 2005 的问题(在线等)

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:00:28
我在注册页面的Button(确定)点击事件中写的
protected void Confirm_Click(object sender, EventArgs e)
{
string source = "server=(local);" + "integrated security = true;" + "database = DB";
SqlConnection conn = new SqlConnection(source);

conn.Open();
//string select = "InsertUserInfoProc " + UserName.Text + PassWord.Text + NickName.Text + Email.Text;
//SqlCommand comm = new SqlCommand(select,conn);
conn.Close();
}
当点击Button时提示:在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)
不知道是我的连接方式不对还是我的数据库设置问题。
网上有很多解决数据库设置的我都试了,只有一个地方不一样,就是说启动
mssqlserver服务,但是我没有mssqlserver服务,我有sqlEXPRESS服务,请问这是为什么啊,弄了一下午了。
第二个问题:我的代码中的注释的两句话是想让数据库执行InsertUserInfoProc存储过程,带入的变量是那4个textbox.text,请问我的这种写法对吗?请指示。

人家明明是集成身份验证,不需要开启混和验证模式。

你装的应该是VS2008自带的SQL Server 2005 Express,根据你说的只有sqlEXPRESS服务,默认安装下,你的SQL Server实例名应该是SQLEXPRESS,所以连接字符串里,你应该写string source = "server=(local)\SQLEXPRESS;",或者用这种方式:"Data Source=localhost\\SQLEXPRESS;Initial Catalog=DB;Integrated Security=True"。

第二,写法不对。执行存储过程时,CommandText写存储过程的名称就可以,参数另外提供,comm.Parameters.Add(...):
string select = "InsertUserInfoProc";
SqlCommand comm = new SqlCommand(select,conn);
comm.Parameters.Add(用户名的参数);
comm.Parameters.Add(...);
...

是否未开启sql server 验证?如果在本机用sa账户连接不上试试以下 :
1在 SQL Server Management Studio 的对象资源管理器中,右键单击服务器,再单击“属性”。

2.在“安全性”页上的“服务器身份验证”下,选择混合验证模式,+密码,再单击“确定”。

3.在 SQL Server Management Studio 对话框中,单击“确定”以确认需要重新启动 SQL Server,重启SQL Server

用户名是sa,密码自已设 ,祝你成功!

混合模式登录