0

我在使用 gem 文件 tiny_tds(版本 2.1.1)的 linux 容器中尝试连接到 Azure 托管实例上的 sql server。

我用来连接的代码是这样的:

client=TinyTds::Client.new(:username=>'username@full.server.name', :password=> 'password', :host=>'full.server.name.database.windows.net', :port=>3342, :database=>'database',  :azure=>true)

我已经尝试从 ruby​​ 控制台以及从容器内运行它。

这是我正在使用的 freetds 的信息:

                        Version: freetds v1.00.91
         freetds.conf directory: /usr/local/etc
 MS db-lib source compatibility: no
    Sybase binary compatibility: no
                  Thread safety: yes
                  iconv library: yes
                    TDS version: 7.3
                          iODBC: no
                       unixodbc: no
          SSPI "trusted" logins: no
                       Kerberos: no
                        OpenSSL: yes
                         GnuTLS: no
                           MARS: no

我一直收到错误消息: Login failed for user 'username@full.server.name

奇怪的是,我可以通过 freetds 进行连接:

tsql -H full.server.name.database.windows.net -U username -D database -p 3342 -P password

我想知道它是否与具有多个“。”的服务器/主机有关。主机名中的字符。

此外,根据我所读到的有关 tiny_tds 的内容,连接到 Azure 时,用户名需要附加 @servername。

我已经尝试了几个版本的 tiny_tds(全部无效)。

我还尝试了连接字符串的许多不同排列。纳达。

如果您有任何建议,请告诉我!!

4

0 回答 0