Unixodb 与 PHP 的连接失败


unixodb connection with PHP fails

我已经用unixODBC安装了freetds,当我测试与isql的连接时,它工作得很好,但是当我尝试与php建立连接时,我收到S1000错误。

我的配置详细信息是我的freetds.conf中有一个DSN

[MYDSN]
host = 192.168.30.233
port = 1433
tds version = 8.0
client charset = UTF-8

我的 odbc.ini 文件有

[MYDSN]
Driver = FreeTDS
Descrioption = conn unixodbc with FreeTDS
tds version = 8.0
Server = 192.168.30.233
Port = 1433
Database = mydb
client charset = UTF-8

我的 ODBCINST 文件有

[FreeTDS]
Description = MSSQL Driver
Driver = /usr/lib64/libtdsodbc.so
UsageCount = 1

我使用本教程进行安装,并使用 odbcinst 安装了驱动程序。

为了连接php,我使用DSN连接,并尝试使用odbc_connect和mssql_connect。

odbc_connect("MYDSN",$this->user,$this->password)
mssql_pconnect( "MYDSN",$this->user,$this->password)

我还尝试使用以下代码使用 PDO

new 'PDO ("dblib:host=MYDSN;dbname=mydb;",$this->user,$this->password);

有了isql,一切正常。

我正在使用Microsoft SQL Server 2008。

有谁知道可能导致此问题的原因。提前致谢

这通常意味着您缺少 php odbc,因此请安装它

sudo apt-get install php5-odbc