Unable to connect: Adaptive Server is unavailable or does not exist TinyTds::Error

41 views Asked by At

I'm trying to connect to a remote SQL Server (version 2014) from Ruby. I can connect via a UI Client, so the host, user, and password are correct.

My code looks like

require 'tiny_tds'
client = TinyTds::Client.new(host: '172.xx.0.xxx',
                             database: 'XXXXxxxxxTEST',
                             username: 'sa',
                             password: 'Xnforxxxx')

results = client.execute("SELECT * FROM XXX_ProcessOrder")
sig@mbp xxx % tsql -C
Compile-time settings (established with the "configure" script)
                            Version: freetds v1.4.10
             freetds.conf directory: /usr/local/etc
     MS db-lib source compatibility: no
        Sybase binary compatibility: yes
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 7.3
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: yes
                            OpenSSL: yes
                             GnuTLS: no
                               MARS: yes
sig@mbp xxx % gem list tiny

*** LOCAL GEMS ***

tiny_tds (2.1.7)

Ans this is the error.

 2024-02-26 16:48:55 - TinyTds::Error - Unable to connect: Adaptive Server is unavailable or does not exist (172.xx.0.xxx) (TinyTds::Error):
|   /Users/sig/.rbenv/versions/3.2.3/lib/ruby/gems/3.2.0/gems/tiny_tds-2.1.7/lib/tiny_tds/client.rb:60:in `connect'
|   /Users/sig/.rbenv/versions/3.2.3/lib/ruby/gems/3.2.0/gems/tiny_tds-2.1.7/lib/tiny_tds/client.rb:60:in `initialize'
|   /Users/sig/Code/xxx/application.rb:10:in `new'
|   /Users/sig/Code/xxx/application.rb:10:in `block in <top (required)>'

Am I missing something here?

UPDATE - With the same setup, I can access a SQL Server running locally on Docker.

0

There are 0 answers