2012-12-14 67 views
0

As described in a previous questionfreetdsunixodbc安装在狮子和与isql测试,我试图连接到MSSQL使用PHP:如何通过unixodbc和freetds使用PHP连接MSQL?

$connection = odbc_connect('SMS_GTWY', 'username', 'password'); 

但是,它返回:

PHP Warning: odbc_connect(): SQL error: [iODBC][Driver Manager]Specified driver could not be loaded, SQL state IM003 in SQLConnect in testodbc.php line 3 

[iODBC][Driver Manager]Specified driver could not be loaded 

我怎样才能解决这个问题?

P.S.上述PHP后$ cat /tmp/odbc_trace输出被执行:

** iODBC Trace file 
** Trace started on Fri Dec 14 18:03:27 2012 
** Driver Manager: 03.52.0607.1008 


[000000.000472] 
php    7FFF738F8960 EXIT SQLConnect with return code -1 (SQL_ERROR) 
     SQLHDBC   0x7fbec48a77d0 
     SQLCHAR   * 0x10e2e8ea8 
     SQLSMALLINT  -3 (SQL_NTS) 
     SQLCHAR   * 0x10e2e7300 
     SQLSMALLINT  -3 (SQL_NTS) 
     SQLCHAR   * 0x10e1873fa 
     SQLSMALLINT  -3 (SQL_NTS) 

[000000.000540] 
php    7FFF738F8960 ENTER SQLError 
     SQLHENV   0x7fbec48a7560 
     SQLHDBC   0x7fbec48a77d0 
     SQLHSTMT   0x0 (SQL_NULL_HANDLE) 
     SQLCHAR   * 0x7fff6d1adf42 
     SQLINTEGER  * 0x7fff6d1adf3c 
     SQLCHAR   * 0x7fff6d1adf48 
     SQLINTEGER  511 
     SQLSMALLINT  * 0x7fff6d1adf3a 

[000000.000598] 
php    7FFF738F8960 EXIT SQLError with return code 0 (SQL_SUCCESS) 
     SQLHENV   0x7fbec48a7560 
     SQLHDBC   0x7fbec48a77d0 
     SQLHSTMT   0x0 (SQL_NULL_HANDLE) 
     SQLCHAR   * 0x7fff6d1adf42 
        | IM003         | 
     SQLINTEGER  * 0x7fff6d1adf3c (0) 
     SQLCHAR   * 0x7fff6d1adf48 
        | [iODBC][Driver Manager]Specified driver | 
        | could not be loaded      | 
     SQLINTEGER  511 
     SQLSMALLINT  * 0x7fff6d1adf3a (59) 

[000000.000784] 
php    7FFF738F8960 ENTER SQLFreeConnect 
     SQLHDBC   0x7fbec48a77d0 

[000000.000807] 
php    7FFF738F8960 EXIT SQLFreeConnect with return code 0 (SQL_SUCCESS) 
     SQLHDBC   0x7fbec48a77d0 

回答

1

要修复,设置将env与FREETDSCONFODBCINI,和ODBCINSTINI

<?php 

    putenv("FREETDSCONF=/Users/ohho/.freetds.conf"); 
    putenv("ODBCINI=/Users/ohho/.odbc.ini"); 
    putenv("ODBCINSTINI=/Users/ohho/.odbcinst.ini"); 

    $connection = odbc_connect('SMS_GTWY', 'sms_gtwy', 'sms_gtwy'); 

?> 
相关问题