provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错

灵雨飘零 2010-07-21 02:39:55
从网上下载了一个源码,加载数据库后运行程序提示如下错误:

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)


我从网上搜索问题解决方案,大致基本相同:

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。
(provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) (.Net SqlClient Data Provider) 解决:
步骤1:在SQLServer 实例上启用远程连接
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”,
再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:
“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回
4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,
然后单击“启动”,重新启动MSSQLSERVER 服务。
步骤2:启用 SQLServer 浏览器服务
1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”,
再单击“启动”,单击“确定”按钮返回
步骤3:在Windows 防火墙中为“SQL Server 2005”创建例外
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe”,
单击“确定”返回
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1 是占位符,对应数据库实例ID。
4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。
问题2:现在可能会出现sa不能登陆的问题,解决办法如下:
用用Windows身份验证登陆,在"属性"窗口中, 转到"Security"(安全性)项, 在"服务器身份验证"中设置为"SQL Server和Windows身份验证模式", 确定,
根据提示, 你应该重新启动sql服务。
如果执行
EXEC sp_password null,null,'sa'
ALTER LOGIN sa ENABLE
这句话时报如下的错:
Msg 15118, Level 16, State 1, Line 1
密码有效性验证失败。该密码不够复杂,不符合 Windows 策略要求。

则说明你的服务器的密码策略有复杂性要求(SQL 2005的密码复杂性与Windows的密码复杂性策略是关联的),则要求你把sa的密码设置为一个复杂的密码, 因此得改为如下语句:

EXEC sp_password null, 'guoqiang1234', 'sa'

ALTER LOGIN sa ENABLE


-- sp_password 语法如下:
-- sp_password [旧密码], <新密码>, [登录名]
问题3:IP地址不能连接
在使用.NET开发进行时,会遇到使用连接字符串连接SQL Server 2005数据库使用机器名称和localhost都能连接,但是使用IP地址却不能连接的问题,
解决的办法是在SQL Server实例上启用本地和远程连接,并且在选择协议的时候使用TCP/IP和命名管道服务即可解决。



我也按照上述解决方式试了,但是不管用。

一下是程序中的App.config中的连接字符串
 <add name="HouseEntities" connectionString="metadata=res://*/DAL.Model.HouseEntities.csdl|res://*/DAL.Model.HouseEntities.ssdl|res://*/DAL.Model.HouseEntities.msl;provider=System.Data.SqlClient;provider connection string="Data Source=PC-KINGBOY\\SQL2005;Initial Catalog=House_DB;User ID=sa;Password=1234;MultipleActiveResultSets=True"" />



各位大侠,帮忙看一下。。
谢谢!!!

...全文
5024 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
lx4326210 2012-02-28
  • 打赏
  • 举报
回复
我这里有同样的问题,找不到答案。我连其它数据库可以,别人连我却不行。
jimelei 2012-02-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 bill024 的回复:]

打开SQL Server 外围应用配置器中的服务和连接的外围应用配置器,启动SQL Server Browser试试。
[/Quote]

谢谢,帮我解决了!
anglerfly 2011-12-05
  • 打赏
  • 举报
回复
为什么我的还是不行???
K24 2011-11-10
  • 打赏
  • 举报
回复
sql server brower 服务被禁用
jhl1111 2011-04-12
  • 打赏
  • 举报
回复
我也是这个问题,后来改成Data Source=(local);就可以了
xml20 2010-09-20
  • 打赏
  • 举报
回复
mark..同LZ
ouyangxue 2010-08-27
  • 打赏
  • 举报
回复
我的邮箱是songfei.100@163.com
ouyangxue 2010-08-27
  • 打赏
  • 举报
回复
解决了吗?我也遇到这样的问题了。谢谢
claro 2010-07-22
  • 打赏
  • 举报
回复
可能有某些细节地方没发现,不过暂时没想到。

麻烦把程序包mail给我cl.2qudao@foxmail.com,下载地址已经无法下载,同时请说明
select @@version
永生天地 2010-07-22
  • 打赏
  • 举报
回复
比较确定的就是没有连到服务器
Data Source=PC-KINGBOY\SQL2005;

如果还不太确定,可以在程序里调试看看

再就是通过SSMS连接试试

或者在cmd里 telnet ip 端口 试试
灵雨飘零 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 bill024 的回复:]
打开SQL Server 外围应用配置器中的服务和连接的外围应用配置器,启动SQL Server Browser试试。
[/Quote]

所有服务我都启动了、、
bill024 2010-07-22
  • 打赏
  • 举报
回复
打开SQL Server 外围应用配置器中的服务和连接的外围应用配置器,启动SQL Server Browser试试。
灵雨飘零 2010-07-22
  • 打赏
  • 举报
回复
我下载的程序是http://download.csdn.net/source/2329628,难道是程序问题?

没找到原因。。

灵雨飘零 2010-07-22
  • 打赏
  • 举报
回复
而且连接字符串没有妨碍Web.Config里面,是放在程序的一个App.config文件里面。应该是一样的吧。。
但是就是不行。。
灵雨飘零 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 bancxc 的回复:]
PC-KINGBOY\\SQL2005 在webconfig配置时用一个\就可以了 PC-KINGBOY\SQL2005
[/Quote]

改了也还是不行。。。
bancxc 2010-07-22
  • 打赏
  • 举报
回复
PC-KINGBOY\\SQL2005 在webconfig配置时用一个\就可以了 PC-KINGBOY\SQL2005
灵雨飘零 2010-07-22
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 claro 的回复:]
可能有某些细节地方没发现,不过暂时没想到。

麻烦把程序包mail给我cl.2qudao@foxmail.com,下载地址已经无法下载,同时请说明

SQL code
select @@version
[/Quote]

邮件已发送,我安装的SQL2005是标准版SP2
操作系统WindowsXP

灵雨飘零 2010-07-21
  • 打赏
  • 举报
回复
就是这样的小问题往往找不到原因。o(︶︿︶)o 唉
灵雨飘零 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 feixianxxx 的回复:]
引用 4 楼 kingboy2008 的回复:

引用 2 楼 claro 的回复:
SQL code
Data Source=PC-KINGBOY\\SQL2005;Initial Catalog=House_DB;User ID=sa;Password=1234;

都OK 吗?
还是

SQL code
Data Source=PC-KINGBOY\SQL2005

……
[/Quote]

改成Data Source=PC-KINGBOY\SQL2005 还是不行。。。


灵雨飘零 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 claro 的回复:]
引用 1 楼 kingboy2008 的回复:
我已经改成我本地数据库的连接了,这是原来的连接。
这样仍报错?
[/Quote]

嗯。是的。我的连接跟原来的程序的默认连接不一样呀。
加载更多回复(5)

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧