mysql - 使用 mysql 测试 SQL Server Express 连接?

标签 mysql sql sql-server linux windows

抱歉 - 这有点新手(我不是 DBA)
问题:我想测试使用 MySQLlinux box 远程访问 MS SQL Server Express。 SQL Express 端是否需要任何其他配置?

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

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

然后在输入我的密码后,我可以得到我的远程“mysql>”提示符。

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

提前致谢!

我还应该提到,即使尝试使用 端口 1433/1434/1521 而不是 3308,当前尝试执行此操作也会导致错误:

ERROR 2003 (HY000): Can't connect to MySQL server on 'ip_address' (111)

它似乎默认连接到另一个 MySQL 服务器。

我认为错误 111 表示“连接被拒绝”,所以我认为这可能是 MS SQL Server 配置问题?我假设这是 SQL 生成的错误。

最佳答案

实际的 SQL 可能或多或少是跨 DBMS 的标准,但您实际与它们单独交谈的方式却大不相同:甚至没有一个标准可以让它们偏离!

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

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

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

关于mysql - 使用 mysql 测试 SQL Server Express 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21478011/

相关文章:

sql-server - 为azure弹性池数据库设置自定义时区

MySQL:计算许多连接表中的项目

mysql - 获取每组分组 SQL 结果中最大值的记录

mysql - 如何为 UNION 的不同部分以不同的顺序对 UNION 查询的输出进行排序?

MySQL:如何从命令行传递参数?

sql - 有没有比子查询更有效的方法来将 group by 的结果与表连接起来?

php - 从多个表中选择列的总和并按 id 分组

sql - 在 SQL Server 数据库中保存 pem 证书

mysql - 如何在MySQL中查找相似的IP?

sql-server - SQL Server SORT 顺序与 ASCII 代码顺序不对应