Using UnixODBC and FreeTDS to connect to Pervasive SQL server in ubuntu?

匿名 (未验证) 提交于 2019-12-03 01:34:02

问题:

I am trying to connect to a Pervasive Sql Server which is running on Windows 10 from an Ubuntu 14.04.4 server.

I am using the following services to try connect to the server:

FreeTDS unixODBC 

Before starting I tried to ping the host machine from the vm console with success.

I then run the following command to check FreeTDS has installed correctly;

tsql -C 

Which returned:

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

[freetds.conf] located in [/usr/local/etc] contains:

[PSQLServer] host        = **IP** port        = **PORT** tds version = 8.0 

[odbc.ini] located in [/usr/local/etc] contains:

[PSQLClient] Description = Pervasive SQL Client Settings Driver      = FreeTDS ServerName  = PSQLServer Database    = **DBNAME** Trace       = No UID         = **USERNAME** PWD         = **PASSWORD** TDS_Version = 8.0 

[odbcinst.ini] located in [/usr/local/etc] contains:

[FreeTDS] Description = FreeTDS unixODBC Driver Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so Setup       = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so TDS_Version = 8.0 

I tired using the tsql command adding [TDSVER=*] for each of the possible driver versions resulting in the same error message for each TDSVER.

*[5.0], *[6.0], *[7.0], *[7.1], *[7.2], *[7.3], *[7.4], *[8.0]

When testing the connection using the following command:

TDSVER=8.0 tsql -S PSQLClient -U **USERNAME** -P **PASSWORD** 

Which returns the following errors:

Error 20012 (severity 2):         Server name not found in configuration files. locale is "en_ZA.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" Error 20013 (severity 2):         Unknown host machine name. There was a problem connecting to the server 

After trying the above, I then tried to the isql command:

isql -v PSQLClient **USERNAME** **PASSWORD** 

Which returns the following error messages:

[S1000][unixODBC][FreeTDS][SQL Server]Unable to connect to data source [01000][unixODBC][FreeTDS][SQL Server]Unknown host machine name. [ISQL]ERROR: Could not SQLConnect 

Is it even possible to connect to [Pervasive SQL] via [node-odbc] and if so what am I doing wrong?

Any assistance would be greatly appreciated!

回答1:

Most recent versions of Pervasive / Actian PSQL support Linux clients and have an ODBC driver for Linux. Since you're using Windows 10, you should probably be using PSQL v12. If you use v12, you can download the Linux client at http://www.pervasive.com/database/Home/Products/PSQLv12.aspx. There is an RPM and TAR available.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!