使用mysql测试SQL Server Express连接?

时间:2014-01-31 10:41:18

标签: mysql sql sql-server linux windows

道歉 - 这是一个新手(我不是DBA) 问题:我想使用MS SQL Server Express测试linux boxMySQL的远程访问。 SQL Express端是否需要任何其他配置?

如果我正在测试对另一个MySQL数据库的访问权限,我可以进行以下操作:

mysql --host ip_address --port=3308 --user=username -p

然后在输入我的密码后,我可以得到我的遥控器“mysql>”提示。

我想我的问题是这个 - 是否有一种等效的方法来远程测试与MS SQL Server Express的连接?我可以通过这种方式连接到MS Sql Server,还是需要提供实例名称或特定的Db?

提前致谢!

我还应该提一下,即使尝试ports 1433/1434/1521代替3308,目前尝试这样做也会导致错误:

  

ERROR 2003(HY000):无法连接到'ip_address'上的MySQL服务器(111)

默认情况下似乎假设连接到另一台MySQL服务器。

我相信错误111意味着“连接被拒绝”所以我认为这可能是MS SQL Server配置问题?我假设这是一个SQL生成的错误。

1 个答案:

答案 0 :(得分:1)

在DBMS中,实际SQL可能或多或少是标准的,但是你实际上与它们单独交谈的方式却截然不同:它们甚至没有偏离的标准!

您的mySQL客户端正在尝试与MySQL数据库服务器通信,并发送MySQL服务器所期望的信息。这是由SQL Server数据库服务器接收的,它希望有一些完全不同的东西,并且有效地说“谈话感觉!不?走开。”

实际上与数据库的对话通常是您选择的驱动程序。这就是例如Windows上的C#代码可以与许多不同的数据库服务器通信:您提供正确的驱动程序并在连接字符串中指定它。我不知道Linux是否存在SQL Server驱动程序,也不知道如何为mySQL客户端指定驱动程序。你必须以某种方式让两者都工作。

好消息是Linux驱动程序确实存在于SQL Server中,例如here。这仍然告诉你如何告诉mySQL客户端使用它(我不确定是否可能)。