我正在尝试从Ubuntu 14.04.4服务器连接到Windows 10上运行的Pervasive Sql Server。
我正在使用以下服务尝试连接到服务器:
FreeTDS
unixODBC
在开始之前,我尝试从vm控制台成功ping主机。
然后我运行以下命令检查FreeTDS是否已正确安装;
tsql -C
返回了:
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
位于[/ usr / local / etc]中的[freetds.conf]包含:
[PSQLServer]
host = **IP**
port = **PORT**
tds version = 8.0
位于[/ usr / local / etc]的[odbc.ini]包含:
[PSQLClient]
Description = Pervasive SQL Client Settings
Driver = FreeTDS
ServerName = PSQLServer
Database = **DBNAME**
Trace = No
UID = **USERNAME**
PWD = **PASSWORD**
TDS_Version = 8.0
位于[/ usr / local / etc]中的[odbcinst.ini]包含:
[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
我厌倦了使用tsql命令为每个可能的驱动程序版本添加[TDSVER = *],导致每个TDSVER出现相同的错误消息。
* [5.0],* [6.0],* [7.0],* [7.1],* [7.2],* [7.3],* [7.4],* [8.0]
使用以下命令测试连接时:
TDSVER=8.0 tsql -S PSQLClient -U **USERNAME** -P **PASSWORD**
返回以下错误:
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
尝试上述操作后,我尝试使用isql命令:
isql -v PSQLClient **USERNAME** **PASSWORD**
返回以下错误消息:
[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
甚至可以通过[node-odbc]连接到[Pervasive SQL],如果是这样,我做错了什么?
非常感谢任何帮助!
答案 0 :(得分:4)
Pervasive / Actian PSQL的最新版本支持Linux客户端,并具有适用于Linux的ODBC驱动程序。由于您使用的是Windows 10,因此您应该使用PSQL v12。如果您使用v12,则可以在http://www.pervasive.com/database/Home/Products/PSQLv12.aspx下载Linux客户端。有RPM和TAR可用。