[root@wx03 mojo]# cat relink.pl
use Mojolicious::Lite;
use JSON qw/encode_json decode_json/;
use Encode;
no strict;
no warnings;
use JSON;
use POSIX;
use JSON::RPC::Client;
use Data::Dumper;
use DBI;
# /foo?user=sri`
my %hash=();
my $dbUser='DEVOPS';
my $user="root";
my $passwd="R00t,uHagt.xx";
my $dbh = DBI->connect("dbi:mysql:database=$dbUser;host=127.0.0.1;port=3306",$user,$passwd) or die "can't connect to database ". DBI-errstr;
get '/api/relink' => sub{
my $c = shift;
my @arr2=();
my $env = $c->param('env');
my $hostSql = qq{select ip,info,env from publish_info where env='$env';};
my ($a1, $a2, $a3,$a4,$a5,$a6,$a7,$a8,$a9); my $selStmt = $dbh->prepare($hostSql);
$selStmt->execute();
$selStmt->bind_columns(undef, \$a1, \$a2,\$a3);
while( $selStmt->fetch() ){
print "\$a1 is $a1\n";
print "\$a2 is $a2\n";
print "\$a3 is $a3\n";
push (@arr2, "$a1 $a2 $a3" );
}; $c->render(json => \@arr2);
};
app->start; [root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
["1.1.1.1 aa test"] 停止数据库,启动数据库
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]
[root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# curl http://127.0.0.1:3000/api/relink?env=test
[][root@wx03 ~]# 代码报错:
Server available at http://127.0.0.1:3000
$a1 is 1.1.1.1
$a2 is aa
$a3 is test
$a1 is 1.1.1.1
$a2 is aa
$a3 is test
DBD::mysql::st execute failed: Lost connection to MySQL server during query at /root/mojo/relink.pl line 25.
DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26.
DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27. DBD::mysql::st execute failed: MySQL server has gone away at /root/mojo/relink.pl line 25.
DBD::mysql::st bind_columns failed: Statement has no result columns to bind (perhaps you need to successfully call execute first, or again) at /root/mojo/relink.pl line 26.
DBD::mysql::st fetch failed: fetch() without execute() at /root/mojo/relink.pl line 27. 没有自动重连

PERL DBI 自动重连问题的更多相关文章

  1. Netty 自动重连

    from: http://www.dozer.cc/2015/05/netty-auto-reconnect.html 自动重连 用 Netty 写 Client 和 Server 的时候必须要去处理 ...

  2. perl DBI 学习总结(转载)

    perl DBI 学习总结 源文地址:http://blog.csdn.net/like_zhz/article/details/5441946 DBI和DBD的不同关系模型: ########### ...

  3. 如何实现Azure虚拟网络中点到站VPN的自动重连

     在Windows Azure早期版本中,用户要在某台Azure平台之外的机器与Azure平台内部的机器建立专用连接,可以借助Azure Connect这个功能.当前的Azure版本,已经没有Az ...

  4. 解读dbcp自动重连那些事---转载

    http://agapple.iteye.com/blog/791943 可以后另一篇做对比:http://agapple.iteye.com/blog/772507 同样的内容,不同的描述方式,不一 ...

  5. NodeMCU之旅(二):断线自动重连,闪烁连接状态

    事件监听器 NodeMCU采用了事件响应的方式.也就是说,只需为事件设置一个回调函数,当事件发生时,回调函数就会被调用. 注册事件监听器 wif.sta.eventMonReg() 开始监听 wifi ...

  6. 【树莓派】树莓派下WiFi断线自动重连

    实现 WiFi 断线自动重连.原理是用 Python 监测网络是否断线,如果断线则重启网络服务. 1.Python 代码 autowifi.py,放在 /home/pi 目录下: #!/usr/bin ...

  7. WordPress 实现附件上传自动重命名但不改变附件标题

    WordPress 上传媒体文件时,默认会保持文件名不变.如果上传文件名中包含中文字符,则会造成部分浏览器显示的文件 URL 疑似乱码甚至无法访问.网上流行较广的是通过注册  wp_handle_up ...

  8. Oracle12c中SQL性能优化(SQL TUNING)新特性之自动重优化(automatic reoptimization)

    Oracle12c中的自动重优化 Oracle12c中的自适应查询优化有一系列不同特点组成.像自适应计划(AdaptivePlans)功能可以在运行时修改执行计划,但并不允许计划中连接顺序的改变.自动 ...

  9. 如何解决testng执行用例失败自动重跑问题

    注: 以下内容引自 http://blog.csdn.net/MenofGod/article/details/72846649 看过几个相关问题的帖子,内容类似,不过这篇解决问题的步骤和代码比较清晰 ...

随机推荐

  1. requirejs2读书笔记

    If you want to do require() calls in the HTML page, then it is best to not use data-main. data-main ...

  2. Java程序员可能犯的3个常见SQL错误

    概述:Java程序员不仅要具备扎实的Java编程能力,在日常的工作当中往往还要涉及到其他语言的基础知识,尤其是SQL.那么哪些常见的SQL错误是程序员们容易犯的呢?让我们一起来看看吧! 你可能看到Ja ...

  3. <Win32_8>由浅入深——滚动条

    滚动条在Win32程序中是非常常见的一个控件,它的功能和地位也就不言而喻了,在文本输出中算是一个难点…… 我将借用P先生的思路讲述两种不同风格滚动条,下面切入主题:(实例程序都是显示一张位图  当然, ...

  4. Ubuntu 13.04编译boost1.54

    因为要用基于GCC4.8.1的boost最新版本的库,默认apt-get install 安装的是boost1.53, 并且基于GCC4.7.3,不是我想要的.所以决定下载源代码自己编译. 下载(后面 ...

  5. C primer plus 读书笔记第八章

    本章的标题是字符输入/输出和输入确认.主要内容是讨论用于I/O的标准函数. 1.getchar()和putchar() 这两个函数之前用过,我们通过这两个函数来讨论下缓冲区. #include &qu ...

  6. GCC编译选项

    一.看例子分析gcc 的编译选项 gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld 1.-I /home/h ...

  7. 人工智能2:智能Agent

    一.Agent基本定义 基于理性行为的Agent是本书人工智能方法的核心.Agent由传感器.执行器两个重要元件组成,具有与环境交互的能力,其能力是通过分析感知序列,经过Agent函数映射到相应的行动 ...

  8. C#第一节课

    1,命名规范 A.如果声明一个变量,小写,如果有多个单词,后面首字母大写 如: string sString="aa"; int iNum=20; bool bMale=false ...

  9. hdu 2189

    //hdu2189   题意大概就是给n个人,分成多组,要求每组人数都是素数,求有多少种... 解法就是先把150以内的素数全部存入一个数组,然后利用a[j+b[i]]+=a[j];这道题一开始没理解 ...

  10. html行内元素 和 块状元素 总结

    块状元素 address - 地址blockquote - 块引用center - 举中对齐块dir - 目录列表div - 常用块级容易,也是CSS layout的主要标签dl - 定义列表fiel ...