2012-06-12 78 views
1

我有一个在局域网上运行正常的VB应用程序。服务器是Windows 2003.我只将整个程序移到其中一台PC(XP + WAMP服务器)上。该程序运行在本地机器上很好,但是从另一个工作站运行时,我得到以下错误:程序在特定的机器上运行时导致运行时错误

vb runtime error -2147467259 (80004005) [mysql][odbc 5.1 driver] could not connect to mysql server on x.x.x.x (10060)

X.X.X.X是作为服务器的PC的IP。

我看到类似的消息已经发布在这个论坛上,但没有一个与我的问题有关,因为我的程序在本地工作。 VB6程序使用相同的连接信息。

数据库用户已设置为允许来自任何主机的请求。

可能是什么问题?

回答

3

错误说cannot connect。这是一个网络或防火墙问题,而不是权限问题。

  1. 看看你是否可以成功ping服务器。
  2. 看看是否有其他东西可以连接到服务器
  3. 看看是否有其他的MySQL客户端可以连接。
  4. 如果这是有史以来第一个尝试连接的mysql客户端,请检查服务器日志中的线索。
+2

...并检查mysql是否接受tcp连接。默认情况下,它不会,作为一项安全措施 –

+0

@MarcB自从我搞砸Windows(WAMP)以来已经有一段时间了。如果mysql正在接受tcp连接,我应该在哪里检查? – itsols

+0

'netstat -a'会显示所有打开的端口,但更快的是检查mysql .ini文件并查看是否在那里启用/禁用tcp。 –

0

首先,非常感谢wallyk和Marc B中带领我在检查口的方向...

这里的答案:

其实原来的my.ini了正确的设置。但我没有这两个东西:

  1. 在部分mysqld的,我增加了行启用命名管道
  2. 在Windows XP防火墙设置中,我添加了端口3306作为例外。这是导致我3天的麻烦的主要罪魁祸首:)

然后重新启动WAMP服务器,我们就完成了。我发现this link from Microsoft,这让我想到做最后一步。

再次感谢所有这些投入!

相关问题