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

问题描述 投票:2回答:1

我收到了错误

odbc_connect():SQL错误:[unixODBC] [驱动程序管理器]未找到数据源名称,并且未指定默认驱动程序,SQLConnect for Linux服务器中的SQL状态IM002

执行以下命令以从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 install unixodbc
  • sudo apt-get install tdsodbc
  • sudo apt-get install freetds-bin tdsodbc

/etc/odbc.ini文件

  • Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
  • Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so
  • Server = server_name
  • Port = port_number
  • Database = dbname
  • 用户名= dbusername
  • 密码= dbpassword

freetds.conf文件

[sybase]
    host=
    port=
    Tds version=
php ubuntu odbc sybase freetds
1个回答
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}';
© www.soinside.com 2019 - 2024. All rights reserved.