gpt4 book ai didi

sql-server - 使用 FreeTDS 从 Ubuntu 访问 RODBC MS SQL

转载 作者:行者123 更新时间:2023-12-04 18:29:20 25 4
gpt4 key购买 nike

我正在尝试从 Ubuntu 机器访问托管在我的 Windows 机器上的 MS SQL 服务器。我有一个 Shiny 的应用程序可以访问在 Windows 上运行良好的 MSSQL。我想在 Ubuntu 上使用 Shiny 的服务器托管它,以便其他人可以访问该网页并将他们的 SQL 服务器作为应用程序的输入。

所有这些在 Windows 上都可以正常工作。现在我无法让 unixODBC 工作。我想我的 odbc/freeTDS 安装和配置正确。我可以使用 tsql -S 从 Ubuntu 终端连接和查询 SQL 数据库实例。它需要一些谷歌搜索,但最终它奏效了。

现在,当我尝试从 R 连接时,出现此错误。

sql <- odbcConnect("abc.xyz.com", "uname", "passwd")

In odbcDriverConnect("DSN=abc.xyz.com;UID=uname;PWD=passwd") : [RODBC] ERROR: state 08001, code 0, message [unixODBC][FreeTDS][SQL Server]Unable to connect to data source 2: In odbcDriverConnect("DSN=abc.xyz.com;UID=uname;PWD=passwd") : [RODBC] ERROR: state 01000, code 20002, message [unixODBC][FreeTDS][SQL Server]Adaptive Server connection failed 3: In odbcDriverConnect("DSN=abc.xyz.com;UID=uname;PWD=passwd") : [RODBC] ERROR: state 01000, code 20017, message [unixODBC][FreeTDS][SQL Server]Unexpected EOF from the server 4: In odbcDriverConnect("DSN=abc.xyz.com;UID=uname;PWD=passwd") : ODBC connection failed


freeTDS.conf
[abc.xyz.com]
host = abc.xyz.com
port = 49475
tds version = 8.0

odbcinst.ini
[FreeTDS]
Description = FreeTDS unixODBC Driver
Driver = /usr/local/lib/libtdsodbc.so
Setup = /usr/local/lib/libtdsodbc.so

odbc.ini
[abc.xyz.com]
Description = Shiny testing
Driver = FreeTDS
Trace = No
Server = abc.xyz.com\instance_name
Database = dbanme
port = 49475

这个错误“来自服务器的意外 EOF”对我来说并不新鲜。当我尝试使用 tsql 连接时,我遇到了同样的错误。我可以通过在 freeTDS.conf 中添加“tds version = 8.0”行来克服这个问题。不确定如何让 RODBC 使用此配置。我读过其他用户能够使用freeTDS 进行sql-server 的帖子。不确定这里缺少什么。我还尝试重新安装 RODBC。

最佳答案

我解决了这个问题。 odbc.ini 文件中需要 TDS 版本。

TDS_Version = 8.0

tsql 从 freeTDS.conf 读取版本信息并工作。 isql 因同样的错误而失败,它还在 odbc.ini 中寻找此配置。因此,如果您正在为 R/Python 进行配置,请使用 isql 进行测试。

关于sql-server - 使用 FreeTDS 从 Ubuntu 访问 RODBC MS SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24493749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com