Delphi 连接数据库高手进!

zhangzhen_927116 2011-09-28 09:34:44
同一个程序在我的电脑可以连接,但是在别人电脑连接不上数据库.。他们使用的是双网卡,一个是可以上网是连接的他们自己的。另外一个就是连接我们这边的区域网。可以上我们这边的公司共享。当使用另外一个程序(ERP系统 万达宝)就可以。他们两个程序都是连接同一个数据库。后来找了网管他说只要他们不上网就可以连接。试了下是可以的。但是这个解决办法不现实。他们是要上网的。现在我就想找问题出在那里。是我的数据库连接有问题还是网络有问题。
...全文
224 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jianyanrong 2011-10-02
  • 打赏
  • 举报
回复
是用 ADO+ SQL SERVER 2005 ?
用IP地址和连接。
jingtuzhong 2011-10-01
  • 打赏
  • 举报
回复
.先保证ping通(有防火墙的先关闭防火墙)
2.在命令提示符下执行:telnet <服务器ip地址> 1433 不会报错
3.连接时使用用ip连接企业管理器
4.如果不行
SQL Server服务器--开始--程序--Microsoft SQL Server
--服务器网络实用工具
--启用 WinSock代理
--代理地址:(sqlserver服务器IP)
--代理端口--1433
---确定

5.如果还不行,在客户端装个SQL Server客户端配置一下:
开始--程序--Microsoft SQL Server--客户端网络实用工具
--别名--添加
--网络库选择 "tcp/ip "--服务器别名输入SQL服务器名
--连接参数--服务器名称中输入SQL服务器ip地址
--如果你修改了SQL的端口,取消选择 "动态决定端口 ",并输入对应的端口号
zhangzhen_927116 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 keiy 的回复:]
要用ping等命令,最好要先运行cmd进入命令行方式
[/Quote]
哦 我知道了。先进入CMD 再进行命令是把!@
柯本 2011-09-29
  • 打赏
  • 举报
回复
要用ping等命令,最好要先运行cmd进入命令行方式

zhangzhen_927116 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 gxgyj 的回复:]
*测试网络,就先ping数据库服务器的ip,如果连ping都不通,那就是网络问题,叫网管解决
*测试连接数据库端口,telnet x.x.x.x 数据库的端口号(例如 telnet 192.168.1.100 1433),如不通,说明端口被防火墙禁止


楼主测试了没有,结果是什么
[/Quote]
我在我自己电脑测试了一下。怎么一闪就没了?
gxgyj 2011-09-29
  • 打赏
  • 举报
回复
*测试网络,就先ping数据库服务器的ip,如果连ping都不通,那就是网络问题,叫网管解决
*测试连接数据库端口,telnet x.x.x.x 数据库的端口号(例如 telnet 192.168.1.100 1433),如不通,说明端口被防火墙禁止


楼主测试了没有,结果是什么
zhangzhen_927116 2011-09-29
  • 打赏
  • 举报
回复
今天试了试,在他们电脑上面去使用ODBC连接数据库,连接不上。那是什么原因?
zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 gxgyj 的回复:]
这些你不要管,你先确定是网络的问题还是程序的配置问题,

*测试网络,就先ping数据库服务器的ip,如果连ping都不通,那就是网络问题,叫网管解决
*测试连接数据库端口,telnet x.x.x.x 数据库的端口号(例如 telnet 192.168.1.100 1433),如不通,说明端口被防火墙禁止
[/Quote]
这个方法我试试。我觉得应该不是防火墙的问题。
funxu 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zhangzhen_927116 的回复:]
刚才我又跑过去问了一下网管他们说现在他们又改了。现在是一个网卡了。可以上网又可以连接到我们这边的服务器。他们上网的网络是他们那边的。糊涂了。!
[/Quote]
用不着糊涂,人家有路由的,简单的说就是你的电脑连到路由器,至于访问谁,路由器帮你转发
gxgyj 2011-09-28
  • 打赏
  • 举报
回复
这些你不要管,你先确定是网络的问题还是程序的配置问题,

*测试网络,就先ping数据库服务器的ip,如果连ping都不通,那就是网络问题,叫网管解决
*测试连接数据库端口,telnet x.x.x.x 数据库的端口号(例如 telnet 192.168.1.100 1433),如不通,说明端口被防火墙禁止

zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
刚才我又跑过去问了一下网管他们说现在他们又改了。现在是一个网卡了。可以上网又可以连接到我们这边的服务器。他们上网的网络是他们那边的。糊涂了。!
zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 funxu 的回复:]
不会吧,LZ居然不知道odbc如何使用?这里有个教程,虽然不是sql的不过方法是通用的,图文并茂写的不错参考一下吧
http://wenku.baidu.com/view/e4fcf0cea1c7aa00b52acb80.html
另外创建odbc源在控制面板里,找不到再问度娘一下
[/Quote]
我知道了。我等会跑过去试试。
gxgyj 2011-09-28
  • 打赏
  • 举报
回复
你的两块网卡是不是都设有网关?
zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gxgyj 的回复:]
后来找了网管他说只要他们不上网就可以连接
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
是网管禁用上外网的网卡,就可以连数据库了?

那问题就在出在双网卡上,在双网卡的机机上,加静态路由吧
[/Quote]
但是另外一个程序在他们使用双网卡的同时也可以连接到服务器。就我的不行连接。是我的连接方式有问题?
funxu 2011-09-28
  • 打赏
  • 举报
回复
不会吧,LZ居然不知道odbc如何使用?这里有个教程,虽然不是sql的不过方法是通用的,图文并茂写的不错参考一下吧
http://wenku.baidu.com/view/e4fcf0cea1c7aa00b52acb80.html
另外创建odbc源在控制面板里,找不到再问度娘一下
gxgyj 2011-09-28
  • 打赏
  • 举报
回复
后来找了网管他说只要他们不上网就可以连接
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
是网管禁用上外网的网卡,就可以连数据库了?

那问题就在出在双网卡上,在双网卡的机机上,加静态路由吧
zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
百度了下。知道了是数据源跟服务器。但是你说的方法怎么去实现?
zhangzhen_927116 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 funxu 的回复:]
问题应该不在网络上,既然有成功的案例,说明是数据库连接的问题,不知道远程连接会不会受到代理的影响
LZ可以试下在odbc里加个系统dsn,通过ip连接对方的服务器,然后你的程序去连接那个dsn
[/Quote]
odbc 跟dsn 我才弄这个。详情还请大哥详细说下。
funxu 2011-09-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 keiy 的回复:]
你是什么数据库?用什么数据引擎?
如果是ADO,连接串用IP地址,不要用服务器名
[/Quote]
突然看到一个牛人,java,c++,delphi,c++builder全能啊,惊为天人.........
funxu 2011-09-28
  • 打赏
  • 举报
回复
如果成功的话,你可以在主程序启动的时候创建一个系统dsn即可,这点还是很好解决的
加载更多回复(4)

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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