我已经用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