我刚刚在我的ubuntu linux 12.04 32位操作系统上安装了iSeriesODBC-5.1.0-0.16.i386.rpm。我想要做的是连接到DB2 AS400。
当我在下面运行此代码时:
<?php
$JDALIB = 'MMMMMM';
$DSN = "DRIVER=iSeries Access ODBC Driver;SYSTEM=dev_ip;DBQ=$JDALIB";
$connect = odbc_connect($DSN, "USERNAME", "PASSWORD", SQL_CUR_USE_IF_NEEDED);
给了我一个
PHP Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in /home/odbc_connection.php on line 6
所以我做的是安装unixODBC和freeTDS,我确实成功安装了它们,但是当我再次运行我的连接脚本时。结果仍然相同。任何人都可以帮助我。
答案 0 :(得分:0)
不确定为什么要安装freeTDS,即连接到SQL Server或Sybase。
另外,不确定DBQ的来源,看起来更像是MS Access连接属性。
你可以尝试
$ DSN =&#34; DRIVER = {iSeries Access ODBC Driver}; HOSTNAME = dev_ip; Database = $ JDALIB&#34;;
但我会先尝试使用isql,unixODBC网站上的文档描述了如何使DB2连接正常工作。
我会尝试创建DSN并在尝试使用DSN较少的连接之前使其正常工作。