linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > perl >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·perl入门学习指南
·perl入门教程:Perl 的变量
·perl入门教程:Perl的语法与C语
·Perl文件及目录操作
·perl入门教程:Perl概述
·perl入门教程:正则表达式
·perl 学习笔记
·Perl常用系统函数
·perl中传递和存储文件句柄
·Perl连接Oracle数据库的方法
·curl+perl的自动MAIL报警程序
·使用 perldoc 找文档
·perl入门教程:Perl 程序的属性
·Perl新手的误区和新手必读
·Perl命令行应用介绍
最新文章
·perl 学习笔记
·Perl 特殊变量
·perl Base64码的获取
·perl 父子进程的数据库连接继承
·工作中的实用 perl 脚本
·perl中传递和存储文件句柄
·curl+perl的自动MAIL报警程序
·Perl类包的动态调用
·使用open创建的管道进行父子进
·perl 执行一个系统命令(svn in
·windows平台下根据可执行文件名
·关联数组(hash)
·Perl语言在风险评估的系统基础
·在Perl/CGI中使用模板
·PERL CGI 常见问题
Google
 
perl 父子进程的数据库连接继承问题
[ 作者:  加入时间:2007-11-09 10:42:39  来自:Linux联盟收集整理 ]

my ($dbh);QdSLinux联盟
$dbh = &dbCon("$DBType");
##数据库链接QdSLinux联盟
QdSLinux联盟
$dbh->{AutoCommit}=0;QdSLinux联盟
InitDB()QdSLinux联盟
my $pid = Daemon();##守护进程QdSLinux联盟
ScanLog()QdSLinux联盟
sub InitDB()QdSLinux联盟
{QdSLinux联盟
  
###using global $dbhQdSLinux联盟
QdSLinux联盟
}QdSLinux联盟
sub ScanLog()QdSLinux联盟
{QdSLinux联盟
  
###using global $dbhQdSLinux联盟
QdSLinux联盟
}

以上程序结构,InitDB()函数可以正常执行,但是子进程的ScanLog()函数会出各种数据库错误,实际上原因也很清楚,数据库不会允许两个进程使用相同的数据库链接对其进行操作。QdSLinux联盟
可修改如下:QdSLinux联盟
QdSLinux联盟

my ($dbh);QdSLinux联盟
$dbh = &dbCon("$DBType");
##数据库链接QdSLinux联盟
QdSLinux联盟
QdSLinux联盟
$dbh->{AutoCommit}=0;QdSLinux联盟
InitDB()QdSLinux联盟
my $pid = Daemon();
##守护进程QdSLinux联盟
QdSLinux联盟
$dbh->disconnect(),if($dbh);

##重新建立连接QdSLinux联盟
$dbh = &dbCon("$DBType");##数据库链接QdSLinux联盟
$dbh->{AutoCommit}=0;QdSLinux联盟
QdSLinux联盟
ScanLog()QdSLinux联盟
sub InitDB()QdSLinux联盟
{QdSLinux联盟
  ###using global $dbhQdSLinux联盟
}QdSLinux联盟
sub ScanLog()QdSLinux联盟
{QdSLinux联盟
  ###using global $dbhQdSLinux联盟
}

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息