做了一个winforms的程序,手写了一个连接数据库的类,其中的一个方法是获得SqLConnection的,我是这样写的private static XmlDocument xdoc;
private static SqlConnection scon;
private static SqlCommand scmd;
private static string server;
private static string database;
private static string uid;
private static string pwd;
private static string connStr;
private static void getCon()
{
xdoc = new XmlDocument();
xdoc.Load("DBConfig.xml");
server=xdoc.SelectSingleNode("/DBInfo/server").InnerText.Trim();
database = xdoc.SelectSingleNode("/DBInfo/database").InnerText.Trim();
uid = xdoc.SelectSingleNode("/DBInfo/uid").InnerText.Trim();
pwd = xdoc.SelectSingleNode("/DBInfo/pwd").InnerText.Trim();
connStr = "server = " + server + ";database = " + database + ";uid = " + uid + ";pwd = " + pwd + ";";
MessageBox.Show(connStr);
scon = new SqlConnection(connStr);
}
下面的方法一开始就调用了这样一个方法
DBManager.getCon();
scon.Open();
其他代码省了
问题来了,当我运行程序的时候,弹出的第一个MessageBox写的是
server = .;database = 我的数据库;uid = sa;pwd = sa;
这样执行起来应该没有错啊,可是当执行到scon.Open();的时候就出现了异常
异常信息是“在建立与服务器的连接时出错。在连接到SQL Server 2005时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40 - 无法打开到SQL Server的连接)”请问这是为什么?要怎么解决呢?我前写别的成学的时候还有连接上了呢,现在就不行了,麻烦各位高手们了!
private static SqlConnection scon;
private static SqlCommand scmd;
private static string server;
private static string database;
private static string uid;
private static string pwd;
private static string connStr;
private static void getCon()
{
xdoc = new XmlDocument();
xdoc.Load("DBConfig.xml");
server=xdoc.SelectSingleNode("/DBInfo/server").InnerText.Trim();
database = xdoc.SelectSingleNode("/DBInfo/database").InnerText.Trim();
uid = xdoc.SelectSingleNode("/DBInfo/uid").InnerText.Trim();
pwd = xdoc.SelectSingleNode("/DBInfo/pwd").InnerText.Trim();
connStr = "server = " + server + ";database = " + database + ";uid = " + uid + ";pwd = " + pwd + ";";
MessageBox.Show(connStr);
scon = new SqlConnection(connStr);
}
下面的方法一开始就调用了这样一个方法
DBManager.getCon();
scon.Open();
其他代码省了
问题来了,当我运行程序的时候,弹出的第一个MessageBox写的是
server = .;database = 我的数据库;uid = sa;pwd = sa;
这样执行起来应该没有错啊,可是当执行到scon.Open();的时候就出现了异常
异常信息是“在建立与服务器的连接时出错。在连接到SQL Server 2005时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider:命名管道提供程序,error:40 - 无法打开到SQL Server的连接)”请问这是为什么?要怎么解决呢?我前写别的成学的时候还有连接上了呢,现在就不行了,麻烦各位高手们了!
解决方案 »
- 谁能解释下这段代码
- socket异步接收关闭问题
- 在vs2005和vs2008中查看一个接口的所有实现的快捷键是什么啊?在工具里有这个快捷键吗?
- 请问ASP.NET读取数据库的WORD后,如何存放到某个路径下?
- datalist数据绑定不能显示数据
- 最近有个难题,比较棘手,是关于datagrid的每一行绑定的combobox的下拉列表有可能会不一样,这该如何搞定 vs2003(winform)
- C# winform dataGridView 中如何设置滚动条的宽度 帮帮忙谢谢大家
- C# 如何加help文件?
- int[] arr = new int[5]有点糊涂!
- hashtable 表中的对象能否按照放入时的循序取出来?
- 问个类型转换的问题,高分送上.谢谢各位~~~~~~~
- asp.net(c#)中如何动态添加dropdownlist控件
2、配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务,然后试试;
我一般都有关闭连接的,而且我一般都是检查是否有连接,如果没有才会打开连接的,麻烦各位了!
搂主google一下便知。另,SQL Server2000需要安装sp3补丁才能远程使用IP访问