0

我已经完成了一个小型 C# Win Forms 应用程序,它使用 mySQLconnector 连接到 mySQL 数据库。这适用于我的本地主机。

String ConnectionString = "server=xx.xxx.xx.xxx;uid=myuserid;pwd=mypassword;database=dbname";

但是当我尝试连接到远程服务器时确实出现以下错误:无法连接到任何指定的 MySQL 主机。{“无法建立连接,因为目标机器主动拒绝 xx.xxx.xx.xxx:3306”}

我已从命令提示符 ping 服务器并得到响应。我还验证了远程服务器数据库中的 mySQL 服务器设置(正确的名称/IP,端口号:3306,跳过网络:OFF)

从运行 php 脚本并使用与我上面列出的连接字符串相同的设置的 Web 服务器可以毫无问题地访问远程服务器。

mySQL 服务器托管在外部共享托管公司 123reg.co.uk 上,我使用与连接字符串中相同的 uid/passwd 登录到 phpmyadmin。我不明白 webserver 访问 OK 之间有什么不同,但是我的 C# 应用程序遇到了问题?

有没有人可以帮忙...

在此先感谢山姆

4

2 回答 2

0

您的 IP 地址将与 Web 服务器不同。如果您的 IP 地址是静态的,您可以在 mysql 数据库 ( https://www.google.com.au/search?q=mysql+grant+access+to+user+from+host )中授予对您 IP 地址的访问权限。我建议使用服务器访问数据库并使用 ajax/json 调用让您的 c# 应用程序与您的网络服务器通信(https://www.google.com.au/search?q=C%23+Win+Forms+ ajax+json ) - 这样你就不会被绑定到一个 IP 地址来访问。或者,如果远程 shell 访问可用,您可以查看设置到您的网络服务器的 ssh 隧道,以便您可以获得与您的网络服务器相同的访问权限。(https://www.google.com.au/search?q=ssh+tunnels+example+mysql这就是我自己做的)

于 2013-02-26T00:28:20.957 回答
0

我在服务器设置方面遇到了问题,所以他们不会接受远程连接。这主要是出于安全原因。有些地方会让你在 CP 中启用它,但如果你可以直接访问服务器,你应该可以按照这些步骤操作。

http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely

于 2013-02-26T00:28:57.483 回答