程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 應用Perl DBI操作MySQL的一些建議

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

編輯:MySQL綜合教程

應用Perl DBI操作MySQL的一些建議。本站提示廣大學習愛好者:(應用Perl DBI操作MySQL的一些建議)文章只能為提供參考,不一定能成為您想要的結果。以下是應用Perl DBI操作MySQL的一些建議正文


應用perl銜接mysql,這個網上有許多案例了,普通年夜家都是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到數據後讀取顯示成果為亂碼的成績.
 
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銜接的主動重連.須要設置:

 $dbh->{mysql_auto_reconnect} = 1;

  在晚期的模塊中不支撐,簡略的辦法:
  

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

  此辦法實用其余說話連MySQL銜接短時間喪失或是Server的timeout時光設置太短.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved