从 Linux 连接到 SQL 数据库服务器?

从 Linux 连接到 SQL 数据库服务器?

关于从 Linux 连接到 SQL 数据库服务器的一些问题。我阅读了这个社区和一些 DBA 论坛上的各种主题,但无法让它正常工作。

一些背景信息:尝试在 Ubuntu 20.04 服务器和 Windows Server 2019 服务器上的两个 SQL 数据库之间建立连接。两个数据库都在同一个命名实例上。从 Linux 方面来看,这个故事没有防火墙限制。

我无法登录到此数据库服务器本身来检查配置和防火墙,但我可以通过 SQL Server Management Studio 从另一台 Windows 2019 Server 连接到数据库,两个 Windows 都以 SQL 身份验证。我还可以通过服务器名称和 IP ping 此数据库服务器。据我所知,SQL 数据库服务器上已启用 TCPIP 协议。

因此我尝试从 Ubuntu 服务器连接“isql”,并收到以下消息:

[08001][unixODBC][RStudio][SqlServer] Failed to locate Server/Instance Specified

我安装了 Ubuntu 软件包unixodbcunixodbc-dev然后是 R-Studio Pro 驱动程序,因为最终 R-Studio 将与 SQL 数据库建立连接。

接下来我将示例 odbcinst.ini 复制到/ETC/并在同一文件夹中配置了 odbc.ini。我认为,在该 odbc.ini 文件中,我尝试了 IP 地址、不同端口号、根本没有提及端口、服务器名称和实例名称(均为大写)以及 \ 或 /、[ 服务器名称,端口号 ] 的所有组合,但仍然收到相同的错误消息。

我不知道代码为 [08001] 的失败消息是否与Error 26 Error locating server/instance specified(我认为是的)相同,但对我来说,似乎一切都应该满足成功连接的要求,但它失败了。我错过了什么还是我做错了什么?

顺便说一句:使用 Ubuntu 18.04 服务器进行快速测试设置使我成功建立了与 Azure 中无服务器数据库的 SQL 连接,因此我的配置存在问题,或者某些东西阻止了我与该 SQL Server 的连接。您有什么建议或想法可以参考吗?

提前感谢您的回复和思考,并致以亲切的问候,

阿德

相关内容