一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 使用Perl DBI操作MySQL的一些建議

使用Perl DBI操作MySQL的一些建議

2020-05-07 15:26吳炳錫 Mysql

這篇文章主要介紹了使用Perl DBI操作MySQL的一些建議,針對Perl下連接MySQL的DBD::MySQL這個模塊,需要的朋友可以參考下

使用perl連接mysql,這個網上有很多案例了,一般大家都是DBI下的DBD::MySQL這個模塊進行.這里做一個mask弄一個TIPS:
 Perl DBI MySQL的字符集為UTF8
 Perl DBI 特殊字符寫入時報錯
 Perl DBI 連接自動重連或是連接超時
 
1. 當MySQL的字符集是UTF8時需要引入:
 

?
1
2
3
4
use utf8;
binmode(STDOUT, ':encoding(utf8)');
binmode(STDIN, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

目的:
解決perl連接mysql到數據后讀取顯示結果為亂碼的問題.
 
2.對于特殊字符的寫入,最好使用:

?
1
2
my $sth=$dbh->prepare("insert into wubx.WeekEvent values(?,?,?,?,?,?,?)");
$sth->execute($OId,$CId,qq/$Time/,$EventType,qq/$CDesc/,$PId,$RFlag);


對于字符串有可能是用戶提交的用qq//包裹,減少特殊字符造成SQL不能執行的情況.
3. 如果連接兩個數據庫有交換的操作或是遷數據,要考慮連連超時的情況.
 報錯: MySQL server has gone away
  處理辦法:
  在DBD::mysql 4.012以后支持DBI連接的自動重連.需要設置:

?
1
$dbh->{mysql_auto_reconnect} = 1;

  在早期的模塊中不支持,簡單的方法:
  

?
1
2
$dbh->do('set SESSION wait_timeout=72000');
$dbh->do('set SESSION interactive_timeout=72000');

  此方法適用別的語言連MySQL連接短期丟失或是Server的timeout時間設置太短.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚州vs欧州vs日 | 午夜视频一区二区三区 | 欧美福利二区 | 国产精品亚洲一区二区 | 91九色最新地址 | 嗯啊在线观看免费影院 | 日本大片免aaa费观看视频 | 唯美 清纯 另类 亚洲制服 | 欧美一区二区三区综合色视频 | 男人j放进女人的p免费看视频 | 美女的隐私无遮挡撒尿 | 日本一本二本三区免费 | 乌克兰呦12~14 | 久久99热狠狠色一区二区 | 久草在线精彩免费视频 | 草莓视频在线观看免费 | 男人影院在线观看 | 成在线人免费视频一区二区三区 | 妇乱子伦激情 | 亚洲乱码一区二区三区国产精品 | 午夜第一页 | 国色天香社区视频免费观看3 | 久久久久嫩草影院精品 | 美女狂揉尿口揉到失禁 | 全彩调教侵犯h本子全彩妖气he | 把老师操了 | 999精品视频这里只有精品 | 波多野结衣中文字幕乱七八糟 | www.色香蕉| 国产精品久久久久影院色老大 | 日韩 国产 欧美 精品 在线 | 青草视频免费观看在线观看 | 久久精品一区二区免费看 | 2012在线观看免费视频大全 | 91视频破解| 大学第一次基本都没了 | 免费观看网站 | 6969精品视频在线观看 | 四虎国产成人亚洲精品 | 亚洲国产精品自在现线让你爽 | 成人小视频在线观看 |