急!!pdo_odbc连接db2报invalid data source name错误

sunday_bj 2009-08-19 04:46:06
$dbh = new PDO("DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$db;"."HOSTNAME=$host;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$pass;", $user, $pass);

报错:invalid data source name

请问数据源该怎么写啊?
...全文
849 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutao_7871 2009-08-20
  • 打赏
  • 举报
回复
顶顶
sunday_bj 2009-08-20
  • 打赏
  • 举报
回复
远程怎么连接呢?
sunday_bj 2009-08-20
  • 打赏
  • 举报
回复
问题解决了,改用db2_connect连接
jackydrl 2009-08-19
  • 打赏
  • 举报
回复
默认的字符串建立的是本地的数据库连接。远程的貌似不行
sunday_bj 2009-08-19
  • 打赏
  • 举报
回复
$pdo_conn = new PDO('odbc:mydb2', 'db2admin', 'mypassword');
其中mydb2是为DB2 Express C建立的数据源

怎样获取DB2 Express C建立的数据源?我要远程连接db2数据库
CYBEREXP2008 2009-08-19
  • 打赏
  • 举报
回复
1.直接将参数传入构造函数

$pdo_conn = new PDO('odbc:mydb2', 'db2admin', 'mypassword');



其中mydb2是为DB2 Express C建立的数据源。

2.通过文件数据源连接DB2数据库

$pdo_conn = new PDO("url:file://usr/local/db2.dsn");



其中db2.dsn是为DB2 Express C建立的文件数据源。

3.将连接字符串引用php.ini中

在php.ini中加入如下的信息:

[PDO]pdo.dsn.mydb2 = " odbc:mydb2; username=db2admin; password=mypassword"$pdo_conn = new PDO('mydb2', 'db2admin', 'mypassword');



上面三种方法虽然都是使用的DB2数据源,但在后面的操作中(如查询数据等)的接口和其他的数据库完全一致。如下面是使用$pdo_conn来查询test中的mytable表中的数据。

$sql = 'SELECT id, name, salary FROM mytable ORDER BY salary DESC';foreach ($pdo_conn->query($sql) as $row) ...{print $row['id'] . "\t";print $row['name'] . "\t";print $row['salary'] . "\n";}}?>



下面是一种可能的输出结果:

1000 mike 2000 2000 john 2500 … … 7000 bill 10000



PDO除了可以进行基本的数据库操作外,还可以通过beginTransaction、rollBack、commit方法对数据库进行事务操作。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧