Php odbc_connect():SQL错误:[unixODBC][Driver Manager]未找到数据源名称,并且未指定默认驱动程序,SQLConnect中的SQL状态为IM002

Php odbc_connect():SQL错误:[unixODBC][Driver Manager]未找到数据源名称,并且未指定默认驱动程序,SQLConnect中的SQL状态为IM002,php,ubuntu,odbc,sybase,freetds,Php,Ubuntu,Odbc,Sybase,Freetds,我犯了一个错误 odbc_connect():SQL错误:[unixODBC][Driver Manager]数据源名称 未找到,也未指定默认驱动程序,SQL状态IM002处于 用于Linux服务器的SQLConnect 执行以下命令从PHP连接sybase时 $db = ADONewConnection('odbc'); $DSN = 'UID=username;PWD=password;EngineName=dbServiceName;AutoStop=No;Integrated=No;D

我犯了一个错误

odbc_connect():SQL错误:[unixODBC][Driver Manager]数据源名称 未找到,也未指定默认驱动程序,SQL状态IM002处于 用于Linux服务器的SQLConnect

执行以下命令从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代码连接起来

  • sudo apt get安装unixodbc
  • sudo apt get安装tdsodbc
  • sudo apt get安装freetds bin tdsodbc
/etc/odbc.ini文件

[sybase]
    host=
    port=
    Tds version=
  • Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
  • Setup=/usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
  • 服务器=服务器名称
  • 端口=端口号
  • 数据库=dbname
  • Username=dbusername
  • Password=dbpassword
freetds.conf文件

[sybase]
    host=
    port=
    Tds version=

如果您使用的是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}';

谢谢你的建议。我曾尝试使用终端连接数据库服务器,它工作正常,但我在php连接中遇到了相同的错误?我在终端“tsql-S SYBASE-U-P”中尝试过