gpt4 book ai didi

ruby-on-rails - TinyTds 无法连接到 Debian 上的 azure

转载 作者:行者123 更新时间:2023-12-03 03:13:31 25 4
gpt4 key购买 nike

我正在尝试在 ruby​​ 2.2.3 上使用 tiny-tds gem 连接到 Azure SQL 数据库。我安装了 freetds-devfreetds-bin ,一切似乎都工作得很好。

tsql -C
Compile-time settings (established with the "configure" script)
Version: freetds v0.91
freetds.conf directory: /etc/freetds
MS db-lib source compatibility: no
Sybase binary compatibility: yes
Thread safety: yes
iconv library: yes
TDS version: 4.2
iODBC: no
unixodbc: yes
SSPI "trusted" logins: no
Kerberos: yes

并且正在做

TDSVER=7.1 tsql -U xxxxx -P xxxxx -H mydatabase.database.windows.net -p 1433

连接正常(我收到提示)。

我安装了tiny_tds gem:

/home/avril14th/.rvm/gems/ruby-2.2.3/gems/tiny_tds-0.7.0

并尝试连接

avril14th@avril14th:~/src/white2$ pry
[1] pry(main)> require 'tiny_tds'
=> true
[2] pry(main)> client = TinyTds::Client.new username: 'xxxx', password: 'xxxxx', host: 'xxxxx.database.windows.net', :azure => true
TinyTds::Error: Adaptive Server connection failed

我已经尝试了很多其他参数组合,如tiny_tds github page中所述。但没有一个起作用。

感谢任何帮助。我已经尝试了 5 个多小时了...令我困惑的是它总是立即失败,所以这不是超时问题。

最佳答案

这与TinyTDS的版本无关,它已经支持Azure一段时间了。问题在于 FreeTDS 是如何编译的。它缺乏 Azure 所需的 OpenSSL 支持编译。完成后,您将在上面 tsql -C 的输出中看到 OpenSSL: yes

我们在 Using TinyTDS with Azure 中讨论了这一点自述文件部分。

添加: master 分支中的 TinyTDS 1.0 能够连接的原因是该版本在本地编译了 OpenSSL 和 FreeTDS。这是一项新功能,尚未准备好供公众使用。根据您的需求和系统级 FreeTDS 的使用情况,使用或...但答案仍然正确,您无法将 v0.7 用于 Azure 的原因是您的系统 FreeTDS 没有链接 OpenSSL。

关于ruby-on-rails - TinyTds 无法连接到 Debian 上的 azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33212066/

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