数据库字符串连接的疑问,困扰几天了

ys_go 2009-05-20 11:40:30
一winform小程序,需远程连接某外网的SQL服务器,遂在app.config配置文件里加上
<connectionStrings>
<add name="sqlcon" connectionString="Data Source=192.168.0.1\实例名;Initial Catalog=ef1818DataBase;User ID=User;Password=pwd" providerName="System.Data.
SqlClient"/>
</connectionStrings>
程序中读出后,服务器地址变量为:"192.168.0.1\\实例名";连接时,报错如下:
--在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: TCP 提供程序, error: 0 - 由于目标机器积极拒绝,无法连接。)
在目标服务器上,我采用同样的IP+实例,连接成功。
另外Configuration Manager中的TCP\IP都正常启动,默认端口1433,telnet Ip 1433 正常(更改端口,连接修改后问题依旧)
外围配置器中的远程连接服务都正常启动,选择为:同时使用TCP/IP和 named pipes连接方式
我也试过192.168.1.0,1433端口连接,还是不行...用户名和密码输错这种可能就排除掉吧。
我没有看到有防火墙软件,会不会有硬件防火墙呢?但我修改了端口后为什么还是连不上呢?
望各位可以指点迷津。
...全文
206 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ys_go 2009-05-26
  • 打赏
  • 举报
回复
分都放了,万不得已。分了算了。
YiCaoYiMu08 2009-05-20
  • 打赏
  • 举报
回复
服务器的windows防火墙关掉试试
lee_b 2009-05-20
  • 打赏
  • 举报
回复
连远程数据库,应该要在sql2005里面设置连接的权限吧..
xiehouwuyan 2009-05-20
  • 打赏
  • 举报
回复
先看看数据库服务是否启动
qq6212639 2009-05-20
  • 打赏
  • 举报
回复
直接写ip 可以不要实例名
ys_go 2009-05-20
  • 打赏
  • 举报
回复
IP地址我自然晓得是写目标服务器的IP,我这里只写是个IP的意思而已。
caofan520 2009-05-20
  • 打赏
  • 举报
回复
看端口有没有打开
加上端口
niitnanfeng 2009-05-20
  • 打赏
  • 举报
回复
Data Source=192.168.0.1\实例名
这个你直接写数据库所在的IP地址就可以了。
niitnanfeng 2009-05-20
  • 打赏
  • 举报
回复
看看是不是你自己的数据库服务没启动?
一方晴空 2009-05-20
  • 打赏
  • 举报
回复
远程服务器服务什么服务没打开吧
tianshangyun520 2009-05-20
  • 打赏
  • 举报
回复
up
tk1255270 2009-05-20
  • 打赏
  • 举报
回复
外围应用配置器里-服务的连接的外围应用配置器-启动
ys_go 2009-05-20
  • 打赏
  • 举报
回复
再说一遍:Data Source=192.168.0.1\实例名;这里的IP地址我为了服务器考虑模拟写的个IP地址。实际情况我写的是目标服务器的IP。我最讨厌不看清楚问题就回答的人。还连续占三楼...侮辱我的人格还侮辱我的智商。悲哀。
光宇广贞 2009-05-20
  • 打赏
  • 举报
回复
192.168.0.1\\
相当于 LOCAL:\\
请楼主理解……
光宇广贞 2009-05-20
  • 打赏
  • 举报
回复
192.168.0.1
你用这个,只能连结本地的服务器,也就是自己计算机上的SQLSERVER!

请设置远程服务器IP……

唉……
光宇广贞 2009-05-20
  • 打赏
  • 举报
回复
192.168.0.1
这是本地的IP好不好……
到哪儿都是这个IP……

你用它来连远程可能么……
zzxap 2009-05-20
  • 打赏
  • 举报
回复
"Data Source=服务器名
amwalvinja 2009-05-20
  • 打赏
  • 举报
回复
SQL2005 要  设置 的。。。允许进行远程连接
andrewsway 2009-05-20
  • 打赏
  • 举报
回复
1.数据库引擎没有启动.

有两种启动方式:

(1)开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;

(2)可打开:开始->程序Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动;

使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了.

2.进行远程连接时,是否已允许远程连接.

SQL Server 2005 在默认情况下仅限本地连接.我们可以手动启用远程连接.在上面第一种方式中,找到Database Engine,单击"远程连接",在右侧将"仅限本地连接(L)"改为"本地连接和远程连接(R)",并选中"同时使用TCP/IP和named pipes(B)".

3.如果是远程连接,则还要查看连接数据库的语句是否正确,登录账户是否正确,密码是否正确等.

我在一次局域网内连接数据库时,就要因为连接字符串出了问题,在局域网内一台机子连接另一台机子上数据库时,把server=装有数据库的另一台机子的IP.我在连接数据库时总是出现上面的错误,查了好长时间,后来发现,IP没有正确到传到连接字符串,原来我在连接时,使用的是本地,即127.0.0.1,输入的IP没有传到连接字符串.

ys_go 2009-05-20
  • 打赏
  • 举报
回复
我觉得我描述的已经很详细了,各位看看清楚再回答吧,不要敷衍我这个小菜鸟了。谢谢啦。
加载更多回复(1)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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