2016-09-26 79 views
2

我收到錯誤odbc_connect():SQL錯誤:[的unixODBC] [驅動程序管理器]數據源名稱未找到,也沒有指定默認驅動程序,SQL狀態IM002 SQLCONNECT中

odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect for Linux server

在執行下面的命令從PHP連接到sybase。

$db = ADONewConnection('odbc'); 

$DSN = 'UID=username;PWD=password;EngineName=dbServiceName;AutoStop=No;Integrated=No;Debug=No;DisableMultiRowFetch=No;CommLinks=SharedMemory,TCPIP{};Compress=No;Driver={Adaptive Server Anywhere 9.0}'; 


$db->Connect($DSN); 

我有freetds的安裝的ODBC驅動程序與Sybase數據庫與PHP代碼如下命令

  • 命令和apt-get安裝了unixODBC
  • 命令和apt-get安裝tdsodbc
  • 連接sudo apt-get install freetds-bin tdsodbc

/etc/odbc.ini文件

  • 驅動= /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
  • 安裝=/usr/lib中/ x86_64的-Linux的GNU/ODBC/libtdsS.so
  • 服務器=服務器
  • 端口=端口號
  • 數據庫= DBNAME
  • 用戶名=數據庫用戶名
  • 密碼= DBPASSWORD

freetds.conf文件

[sybase] 
    host= 
    port= 
    Tds version= 

回答

0

如果您使用freetds的,你需要從odbcinst.ini指定驅動程序,這是正常freetds的。試試:

$DSN = 'UID=username;PWD=password;EngineName=dbServiceName;AutoStop=No;Integrated=No;Debug=No;DisableMultiRowFetch=No;CommLinks=SharedMemory,TCPIP{};Compress=No;Driver={FreeTDS}'; 
+0

非常感謝您的建議。我試圖連接數據庫服務器使用終端,它工作正常,但我在PHP連接中出現相同的錯誤?我試過在終端「tsql -S SYBASE -U -P 」 – Ruta

相關問題