如何使用ODBC + FreeTDS在UNIX中从PHP连接到sybase?

时间:2016-10-10 07:15:01

标签: php linux odbc sybase freetds

我尝试使用FreeTDS从终端连接sybase,但它运行正常,但我无法使用PHP连接数据库。

我在下面的文件中做了更改。

/etc/odbc.ini档案:

Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
Server = 
Port = 
Database = 
Username = 
Password = 

freetds.conf档案

[sybase]
    host=
    port=
    Tds version=5.0

使用终端

工作正常
tsql -S SYBASE -U username -P password

但是从PHP连接我得到错误:

  

[unixODBC] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序

PHP文件代码:

$db = ADONewConnection('odbc');

$DSN ='UID=username;PWD=password;EngineName=dbServiceName;AutoStop=No;Integrated=No;Debug=No;DisableMultiRowFetch=No;CommLinks=SharedMemory,TCPIP{};Compress=No;Driver={FreeTDS}';

$db->Connect($DSN );

1 个答案:

答案 0 :(得分:0)

我知道在某些版本中,您需要使用服务器的IP而不是名称,如freetds.conf中所示:

[myserver]
    host = 10.10.10.10
    port = 5000
    tds version = 5.0

我也不知道tds version是否区分大小写,但我总是以小写形式看到它。你确定PHP是从与命令行版本相同的freetds.conf读取的吗?