求助。VS2010 C#程序打包安装在其他电脑连接数据库失败

稻庄 2012-03-29 09:40:37
如题。
vs2010 C#程序已开发完成,在开发机器上运行程序没有任何问题,包括数据库的连接,都很成功。
打包程序后,将打包文件安装在其他电脑上,并安装相关的microsoft .net framework 4.0 ,程序可以运行,但到了连接数据库的操作时,就报错数据库连接失败,求救各位大侠指教了。


以下是报错信息:
“在与SQL Server建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且SQL Server已配置为允许远程连接。(provider pipes provider,error:40-无法打开到SQL Server 的连接)”
...全文
749 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
luo960253236 2012-11-27
  • 打赏
  • 举报
回复
怎么连接才能打包后在别人的电脑也可以正常运行
RoyChan2008 2012-08-29
  • 打赏
  • 举报
回复
求大神们指点下 打包的安装文件安装的时候如何验证数据库连接 如果连接不成功 可以修改数据库连接字符串
稻庄 2012-08-03
  • 打赏
  • 举报
回复
稻庄 2012-03-30
  • 打赏
  • 举报
回复
allen0118 2012-03-29
  • 打赏
  • 举报
回复
数据库要开启允许远程访问,或者你使用ODBC连接算了。方便简单
稻庄 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]
引用 15 楼 的回复:

引用 11 楼 的回复:
数据库就在你的开发机上吗?



在服务器上,不在开发机上
那你在目标机上能ping通服务器吗?
[/Quote]
可以的
muyi66 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 11 楼 的回复:
数据库就在你的开发机上吗?



在服务器上,不在开发机上
[/Quote]那你在目标机上能ping通服务器吗?
稻庄 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
数据库就在你的开发机上吗?
[/Quote]


在服务器上,不在开发机上
lsuperdavid 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

数据库就在你的开发机上吗?
[/Quote]
是啊,如果在开发机上,防火墙不影响。可以试下在客户端上PING一下,能通就网络没问题,不通就考虑一下为啥不能连数据库。
覃祖甘 2012-03-29
  • 打赏
  • 举报
回复
“在与SQL Server建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且SQL Server已配置为允许远程连接。(provider pipes provider,error:40-无法打开到SQL Server 的连接)”

检查:
1,SQL Server服务TCP/IP协议是否有设置指定的IP?
2,网络是还链接成功?
3,本地的SQL Server是否安装相关的驱动?
tyang258 2012-03-29
  • 打赏
  • 举报
回复
估计tcp/ip 协议没开 不允许远程访问
muyi66 2012-03-29
  • 打赏
  • 举报
回复
数据库就在你的开发机上吗?
muyi66 2012-03-29
  • 打赏
  • 举报
回复
那就不一定了,可能是访问不了你指定的服务器,也可能是目标机上的端口被更改过,也可能是目标机被污染后相关的数据访问部件损坏......很难猜出了。

你一个一个排查吧。先看看目标机和数据库服务器之间的连接是否通畅。
稻庄 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
检查一下防火墙的设置
目标机上运行cliconfg.exe,看看TCP/IP是否允许
[/Quote]

我开发机器上是禁止的呀,但都能访问数据库
稻庄 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
在目标机上测试一下你的连接字符串,看看是不是能连上。如果连不上,那就表示目标机的环境不支持这个连接。
[/Quote]
那具体是什么环境不支持呢?
q526734 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 2 楼 的回复:
你数据库连接怎么配置的,是不是写死了,在自己电脑上才行啊,检查服务器地址,数据库实例名,用户名,密码,登录方式等


这是我的连接字符串,是写死的。在开发机器上没问题,安装程序在被的电脑就出问题了。

SqlConnection conn = new SqlConnection("server=192.168.1.4;database=edb;uid=sa;p……
[/Quote]

看下数据库默认端口有没有修改过,有的话在IP那加上端口,这个服务器端IP是否正确
Rotaxe 2012-03-29
  • 打赏
  • 举报
回复
检查一下防火墙的设置
目标机上运行cliconfg.exe,看看TCP/IP是否允许
稻庄 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你数据库连接怎么配置的,是不是写死了,在自己电脑上才行啊,检查服务器地址,数据库实例名,用户名,密码,登录方式等
[/Quote]

这是我的连接字符串,是写死的。在开发机器上没问题,安装程序在被的电脑就出问题了。

SqlConnection conn = new SqlConnection("server=192.168.1.4;database=edb;uid=sa;pwd=thtf2007;Asynchronous Processing=True;");
muyi66 2012-03-29
  • 打赏
  • 举报
回复
在目标机上测试一下你的连接字符串,看看是不是能连上。如果连不上,那就表示目标机的环境不支持这个连接。
porschev 2012-03-29
  • 打赏
  • 举报
回复

数据库连接字符串怎么写的?

数据库连的是服务器吗?
加载更多回复(3)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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