如何从c#连接在Web服务器上运行的MySQL?

时间:2013-02-13 12:26:31

标签: c# mysql

我正在开发一个C#应用程序,该应用程序将使用位于我的网站上的远程MySQL数据库,该数据库位于Linux服务器上,并且使用PHP& MySQL支持。

我试图直接连接到MySQL数据库,但由于我的主机方面的限制而无法连接。

有人可以帮助我吗,我可以用这些限制吗?

3 个答案:

答案 0 :(得分:0)

你做不到。服务器需要允许远程连接,如果这不可能,那么你运气不好。

但是,可能还有另一种方式......如果您可以在服务器上创建一个能够连接的Web服务,那么您应该可以从任何地方虚拟地与mysql中的数据进行通信。

答案 1 :(得分:0)

您需要访问远程计算机上的端口3306。您可以使用telnet或类似的

测试您是否可以访问此端口
telnet ip 3306

这些是您的解决方案:

A)创建本地开发环境:您没有提供太多信息。如果我的猜测是正确的,那么您正在本地开发,之后您计划将您的c#应用程序部署到Web服务器,该服务器也将包含mysql db。

  • 在本地计算机上安装mysql
  • 获取数据库的副本。
  • 配置您的C#程序以连接到本地mysql(localhost:3306)
  • 当您将代码部署到Web服务器时,它也会连接到您的“localhost 3306”,它将是安装到Web服务器中的mysql。

B)使用VPN访问mysql :如果A不适用,则另一个解决方案是在包含mySQL的Web服务器和运行应用程序的PC之间安装某种VPN。一旦设置了VPN并且您可以访问端口3306(通过telnet,如前所述),那么您的应用程序将正常工作。

C)打开端口以访问mysql :最简单的解决方案是要求管理员为您打开端口。 99%的时间答案都是否定的,所以我不会遵循这条路线。 (也许在您的Web提供商中存在某种解决方案,允许为给定的IP打开特定端口,但我对此表示怀疑)

答案 2 :(得分:0)

如果您的服务器阻止来自Web的传入连接,您可以尝试创建一种API方式,只需将需要使用PHP的MySQL函数和作为服务器的“echo”结果重载,使用c#应用程序将它们解析为客户端,这是组织这样一个系统的唯一方法,或者,你可以允许传入MySQL连接,然后在CodeProject上查看这篇文章