免费注册 查看新帖 |

Chinaunix

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

Perl CGI查询DB2并输出结果 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-09 10:24 |只看该作者 |倒序浏览
功能:

        最近在写一个基于CGI的WEB查询页面,通过HTML将查询的字符串传递到CGI脚本,脚本连接到DB2并查询到结果并在WEB页面上展现结果。

问题:

        CGI脚本在命令行执行没问题,通过浏览器访问报错。

CGI脚本代码:
  1. #!/usr/bin/perl

  2. use DBI;

  3. # system("source /etc/profile");

  4. $DSN="DATABASE=test; HOSTNAME=192.168.4.252; PORT=50000; PROTOCOL=TCPIP; UID=db2inst1; PWD=123qwe";

  5. my $dbh = DBI->connect("dbi:DB2:$DSN", {PrintError => 0})
  6. or die "Couldn't connect to database: " . DBI->errstr;

  7. $dbh->disconnect;

  8. print "Content-type:text/html\n\n";
  9. print "hello world!!\n";
复制代码
报错信息:

[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161] install_driver(DB2) failed: Can't load '/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/DB2/DB2.so' for module DBD:B2: libdb2.so.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/DynaLoader.pm line 230.
[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161]  at (eval 3) line 3
[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161] Compilation failed in require at (eval 3) line 3.
[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161] Perhaps a required shared library or dll isn't installed where expected
[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161]  at /var/www/cgi-bin/con2db2.cgi line 7
[Thu May 09 08:59:02 2013] [error] [client 192.168.3.161] Premature end of script headers: con2db2.cgi

求教问题:
   
        1.错误原因是什么。
        2.连接DB2的方式是否合适。

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
2 [报告]
发表于 2013-05-09 11:57 |只看该作者
环境变量问题
多半是LD_LIBRARY_PATH

论坛徽章:
0
3 [报告]
发表于 2013-05-09 13:26 |只看该作者
回复 2# laputa73


    这个环境变量在/etc/profile中定义,apache中是否需要配置呢?如何配置?

论坛徽章:
0
4 [报告]
发表于 2013-05-09 13:33 |只看该作者
问题解决了,在apache的配置文件中添加一行代码:
  1. SetEnv LD_LIBRARY_PATH /home/db2inst1/sqllib/lib
复制代码
重启apache即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP