我使用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']);
答案 0 :(得分:0)
有了那个odbcinst,ini我会尝试
$ DNS = “驱动程序= {SQLSERVER};服务器= {$ DBHOST};数据库= {$ connInfo [ '数据库']};”;
或
$ DNS = “DSN = INTERPOLICY”;