免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1983 | 回复: 5
打印 上一主题 下一主题

连接 Oracle 数据库问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-10 22:57 |只看该作者 |倒序浏览
数据库服务器地址是 192.168.0.5  端口 1500
数据库名: ACXN.WORLD
数据库用户名和密码是  dataadmin 和 123456

运行出现错误提示,帮我看看代码有什么问题啊,多谢。

  1. #! /usr/bin/perl
  2. use warnings;
  3. use strict;
  4. use DBI;

  5. my $dbh = DBI->connect("dbi:Oracle:database='ACXN.WORLD';
  6.         host=192.168.0.5;port=1500", 'dataadmin', '123456',
  7.         {AutoCommit => 1});

  8. my $sql = 'select * from info_';
  9. my $sth = $dbh->prepare($sql);

  10. $sth->execute();

  11. open(SQLTEST, '>', 'sqltest') or die $!;
  12. while (my $row = $sth->fetchrow_arrayref) { print SQLTEST @$row }
  13. close SQLTEST;

  14. $dbh->disconnect();
复制代码

错误提示:

  1. DBI connect('database='ACXN.WORLD';
  2.         host=192.168.0.5;port=1500','dataadmin',...) failed: Can't connect using this syntax without specifying a HOST and one of SID INSTANCE_NAME SERVER SERVICE_NAME at t.pl line 7
  3. Can't call method "prepare" on an undefined value at t.pl line 11.
复制代码

[ 本帖最后由 redspider 于 2006-10-10 22:59 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-10-10 23:05 |只看该作者
是不是dsn不能有断行啊? connect("xxxx \
                                                   host=...", ...) 这样是不是就行了呢?

论坛徽章:
0
3 [报告]
发表于 2006-10-10 23:06 |只看该作者
没有指定SID。

论坛徽章:
0
4 [报告]
发表于 2006-10-11 09:36 |只看该作者
谢谢 兰花仙子, 错误提示中也说没有指定SID,但不知道应该用什么语法格式写。

论坛徽章:
0
5 [报告]
发表于 2006-10-11 11:53 |只看该作者
$dbh = DBI->connect("dbi:Oracle:host=myhost.com;sid=ORCL", $user, $passwd);

请参考
http://search.cpan.org/~pythian/DBD-Oracle-1.18a/Oracle.pm

论坛徽章:
0
6 [报告]
发表于 2006-10-12 11:52 |只看该作者
已经能抓到数据了,非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP