积极答复者
《C#入门经典》里第28章介绍ADO.NET的第一个例子我无法连接数据库,提示在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

问题
-
首先,我提前已经运行了Sql server了,我用的不是书中的例子里的SQL express,我用的数据库是SQL server 2008 developer,我修改了Data Source,但还是连不上,按F5有一个未处理SqlException提示:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)。
主要是@"Data Source=(local)\PC-200909192100;"这一句不知怎么写,是不是这一句写错了,才连不上的?PC-200909192100是我的vs2008的服务器名称。我把代码附上,没有错误,大牛多多指教。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient; namespace DataReading { class Program { static void Main(string[] args) { SqlConnection thisConnection = new SqlConnection( @"Data Source=(local)\PC-200909192100;" + @"AttachDbFilename='C:\SQL Server 2000 Sample Databases\NORTHWND.MDF';" + @"Integrated Security=True;Connect Timeout=30;User Instance=True"); thisConnection.Open(); SqlCommand thisCommand = thisConnection.CreateCommand(); thisCommand.CommandText = "SELECT CustomerID,CustomerName from Customers"; SqlDataReader thisReader = thisCommand.ExecuteReader(); while (thisReader.Read()) { Console.WriteLine("\t{0}\t{1}", thisReader["CustomerID"], thisReader["CustomerName"]); } Console.WriteLine("Press Enter to Continue..."); Console.ReadLine(); } } }
- 已移动 Sheng Jiang 蒋晟 2010年2月25日 20:42 SQL Server (发件人:ADO.NET 与 LINQ)
答案
-
你好。
把实例名改为计算机的IP试试。比如
Data Source=192.168.1.15(计算机IP)或者Data Source=. 或者Data Source=local
还有你的SQL Server 已配置为允许远程连接了没有?如果没有则按照以下方法设置。
解决方法:开始->>SQLServer2005->>配置工具->>SQLServer外围应用配置器->>
服务和外围连接的应用配置器->>点击"远程连接"->>本地连接和远程连接->>
同时使用TCP/IP和named Pipes->>点"确定"->>重启SQLserver服务
备注:这是 2005的设置方法,2008的设置应该跟2005的差不多。
希望对你有所帮助
我们要把爱心传递给更多需要帮助的人。
微软(黑龙江).Net俱乐部:http://hlj.cnblogs.com
博客:http://terryfeng.cnblogs.com
微博:http://t.sina.com.cn/terryfeng
个人:http://www.terryfeng.com- 已标记为答案 Mog Liang 2010年2月23日 5:35
全部回复
-
你好。
把实例名改为计算机的IP试试。比如
Data Source=192.168.1.15(计算机IP)或者Data Source=. 或者Data Source=local
还有你的SQL Server 已配置为允许远程连接了没有?如果没有则按照以下方法设置。
解决方法:开始->>SQLServer2005->>配置工具->>SQLServer外围应用配置器->>
服务和外围连接的应用配置器->>点击"远程连接"->>本地连接和远程连接->>
同时使用TCP/IP和named Pipes->>点"确定"->>重启SQLserver服务
备注:这是 2005的设置方法,2008的设置应该跟2005的差不多。
希望对你有所帮助
我们要把爱心传递给更多需要帮助的人。
微软(黑龙江).Net俱乐部:http://hlj.cnblogs.com
博客:http://terryfeng.cnblogs.com
微博:http://t.sina.com.cn/terryfeng
个人:http://www.terryfeng.com- 已标记为答案 Mog Liang 2010年2月23日 5:35