最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年05月09日 16:04:27   作者:吳炳錫  
這篇文章主要介紹了使用Perl DBI操作MySQL的一些建議,針對Perl下連接MySQL的DBD::MySQL這個模塊,需要的朋友可以參考下

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

use utf8;
binmode(STDOUT, ':encoding(utf8)');
binmode(STDIN, ':encoding(utf8)');
binmode(STDERR, ':encoding(utf8)');

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

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


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

 $dbh->{mysql_auto_reconnect} = 1;

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

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

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

相關(guān)文章

最新評論

汝州市| 运城市| 镇平县| 中宁县| 万源市| 当雄县| 明溪县| 屏南县| 姚安县| 杭锦旗| 岳阳市| 肥乡县| 驻马店市| 旅游| 汝州市| 忻城县| 扶风县| 武安市| 景谷| 仙游县| 新兴县| 皋兰县| 岱山县| 会昌县| 阳西县| 惠安县| 三河市| 武邑县| 阳山县| 襄垣县| 沙雅县| 屏东市| 班戈县| 大安市| 镇沅| 巴彦淖尔市| 唐河县| 太谷县| 汉寿县| 麦盖提县| 河北区|