UnixODBC多个数据源无法正常工作

时间:2013-01-29 06:00:49

标签: php sql-server linux unixodbc

我使用unixODBC连接到mssql数据库 通过odbc。问题是无论我添加多少数据源 odbc.ini,它总是使用列表中的第一个数据库..

odbcinst.ini
[ODBC]
Trace           = Yes
TraceFile       = /tmp/sql.log
ForceTrace      = Yes
Pooling         = Yes
[SQLSERVER]
Description     = SQLSERVER
Driver          = /usr/local/freetds/lib/libtdsodbc.so
Setup           = /usr/local/freetds/lib/libtds.so
CPTimeout       = 5
CPReuse         = 5
#FileUsage       = 1

odbc.ini
[DNS1]
Driver          = SQLSERVER
Description     = SQLSERVER
Server          = 192.168.1.10
Database        = fr_boatsdata
Port            = 2300
[INTERPOLICY]
Driver          = SQLSERVER
Description     = SQLSERVER
Server          = 192.168.1.10
#Database       = inter_policy
Port            = 2300

我的代码:

@include(S_ROOT.'./source/lib/adodb5/adodb.inc.php');
$this->link = &ADONewConnection('odbc_mssql');
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$dns="Driver={SQL Server};Server={$dbhost};Database={$connInfo['Database']};";
//$dns="DNS=INTERPOLICY";
@$this->link->Connect($dsn,$connInfo['UID'],$connInfo['PWD']);

1 个答案:

答案 0 :(得分:0)

有了那个odbcinst,ini我会尝试

$ DNS = “驱动程序= {SQLSERVER};服务器= {$ DBHOST};数据库= {$ connInfo [ '数据库']};”;

$ DNS = “DSN = INTERPOLICY”;