0

unixODBCを使用して、odbcを介してmssqlデータベースに接続します。問題は、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']);
4

1 に答える 1

0

そのodbcinst、iniで試してみます

$dns="Driver={SQLSERVER};Server={$dbhost};Database={$connInfo['Database']};";

または

$dns="DSN=インターポリシー";

于 2013-02-07T11:00:43.483 に答える