MS SQL Server Express
测试linux box
对MySQL
的远程访问。 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生成的错误。
答案 0 :(得分:1)
在DBMS中,实际SQL可能或多或少是标准的,但是你实际上与它们单独交谈的方式却截然不同:它们甚至没有偏离的标准!
您的mySQL客户端正在尝试与MySQL数据库服务器通信,并发送MySQL服务器所期望的信息。这是由SQL Server数据库服务器接收的,它希望有一些完全不同的东西,并且有效地说“谈话感觉!不?走开。”
实际上与数据库的对话通常是您选择的驱动程序。这就是例如Windows上的C#代码可以与许多不同的数据库服务器通信:您提供正确的驱动程序并在连接字符串中指定它。我不知道Linux是否存在SQL Server驱动程序,也不知道如何为mySQL客户端指定驱动程序。你必须以某种方式让两者都工作。
好消息是Linux驱动程序确实存在于SQL Server中,例如here。这仍然告诉你如何告诉mySQL客户端使用它(我不确定是否可能)。