पर पुनः कनेक्ट करें, मैंने Google को खोजा है लेकिन मुझे लगता है कि मुझे लगता है कि एक आसान quiestion का जवाब नहीं मिल सका।perl dbi डिस्कनेक्ट
मेरे पास एक पर्ल कोड (नीचे उदाहरण) है जो प्रत्येक 3 सेकंड में डेटा प्राप्त करता है और प्राप्त डेटा को MySQL डेटाबेस में अद्यतन करता है लेकिन कभी-कभी mysql डेटाबेस उपलब्ध नहीं होता है और स्क्रिप्ट मर जाती है। अगर यह विफल रहता है तो मैं फिर से MySQL कनेक्शन कैसे बना सकता हूं?
use DBD::Mysql;
sub updateMysqlDB{
my $connect = DBI->connect("dbi:mysql:$database:$host",
$user,
$pw,
{RaiseError => 1}
);
$myquery = "My sql query to insrt data into columns";
$query_handle=$connect->prepare($myquery);
$query_handle->execute();
$connect->disconnect;
}
while (1) {
if data received call updateMysqlDB();
else wait for data { sleep 3 ;}
}
हाय, क्या आप मुझे ऑटो_रेकनेक्ट के उपयोग पर एक पूर्ण उदाहरण के लिए इंगित कर सकते हैं? मैं अभी भी perl पर बहुत नया हूँ, क्या मैं बस नीचे की विशेषता को पास कर सकता हूं? मेरी $ कनेक्ट = DBI-> कनेक्ट ("dbi: mysql: $ डेटाबेस: $ मेजबान", $ उपयोगकर्ता, $ पीडब्लू, {RaiseError => 1, AutoCommit => 1, mysql_auto_reconnect => 1} ); – Linus
हां, यह काम करना चाहिए। आप '$ कनेक्ट' बनाने के बाद थोड़ा सेट भी कर सकते हैं, जैसे '$ कनेक्ट -> {mysql_auto_reconnect} = 1'। हालांकि, इस सुविधा का उपयोग करने से पहले, आपको @Ted द्वारा निर्दिष्ट चेतावनी पर विचार करने की आवश्यकता है। आप 'फास्ट, सुरक्षित डीबीआई कनेक्शन और लेनदेन प्रबंधन' – Unos
@ टेड हॉप शानदार के लिए सीपीएएन में 'डीबीआईएक्स :: कनेक्टर' पर भी एक नज़र डाल सकते हैं .. महान काम करता है .. सभी को धन्यवाद। – Linus