odbc_connect():SQL错误:[的unixODBC] [驱动程序管理器]数据源名称未找到,也没有指定默认驱动程序,SQL状态IM002 SQLCONNECT中
问题描述:
我收到错误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=
答
如果您使用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 ” –
Ruta