2016-09-26 5 views
2

で[unixODBCの] [ドライバマネージャ]データソース名が見つからない、無デフォルトのドライバ指定し、SQL状態IM002は、私はエラーはodbc_connect():SQLエラー:に次のコマンドを実行している間の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); 

私は、次のコマンド

  • 須藤はapt-getをunixODBCのインストール
  • 須藤はapt-getをインストールtdsodbc
  • でPHPコードでSybaseデータベースを接続するにはFreeTDSのとインストールODBCドライバを持っています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
  • サーバー=サーバー名
  • ポート= port_numberを
  • データベース= dbnameの
  • ユーザー名= DBUSERNAME
  • パスワード= DBPASSWORD

freetds.confファイル

[sybase] 
    host= 
    port= 
    Tds version= 

答えて

0

あなたはFreeTDSのを使用している場合は、通常はFreeTDSのある、odbcinst.iniからドライバを指定する必要があります。試してください:

$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

関連する問題