TAHA
10-23-2009, 10:37 AM
زبان پرل (Perl) در یکی از نرم افزارهایی که اخیرا مجبور به استفاده از آن شدهام یعنی OTRS و بعضی برنامههای معروف دیگر مثل Movable Type و PRTG استفاده شده است. این زبان در یونیکس و قاعدتا در لینوکس هم طرفداران زیادی دارد و در محیطهای ویندوزی هم در کاربردهای سیستمی مثل مدیریت شبکه زبان پر استفادهای است.
OTRS برای ارتباط با دیتابیس از طریق ODBC مشکلی پیدا کرده بود که برای درک مشکل آن مجبور شدم مقداری از مستندات «پرل» را بخوانم و اولین اسکریپتم را بر اساس راهنمای ذکر شده در اینجا ایجاد کرده و اجرا کنم. پکیج DBI کار ارتباط با دیتابیس را در پرل به عهده دارد. برای تکمیل این ارتباط به پکیج DBD-ODBC یا دیگر پکیجهای DBD هم نیاز هست. من برای اجرای این اسکریپت یک دیتابیس در SQLEXPRESS ویندوزم ساخته و در ODBC یک Data Source به اسم otrs برای آن ایجاد کردم. این هم اسکریپت:
#!/usr/bin/perl -w
use DBI;
my $dbh = DBI->connect ("DBI:ODBC:otrs")
or die "Can't connect to database: $DBI::errstr\n";
#prepare the query
my $sth = $dbh->prepare("SELECT * FROM users");
#execute the query
$sth->execute( );
## Retrieve the results of a row of data and print
print "\tQuery results:\n======================================== ======\n";
while ( my @row = $sth->fetchrow_array( ) ) {
print "@row\n";
}
warn "Problem in retrieving results", $sth->errstr( ), "\n"
if $sth->err( );
#disconnect from database
$dbh->disconnect or warn "Disconnection error: $DBI::errstr\n";
print "done";
exit;
پ. ن. ۱: من برای اجرای این اسکریپت از ActivePerl استفاده کردم. پ. ن. ۲: OTRS یک سیستم Help Desk کد باز است که قابلیتهای ITIL را هم میتوان به آن اضافه کرد.
OTRS برای ارتباط با دیتابیس از طریق ODBC مشکلی پیدا کرده بود که برای درک مشکل آن مجبور شدم مقداری از مستندات «پرل» را بخوانم و اولین اسکریپتم را بر اساس راهنمای ذکر شده در اینجا ایجاد کرده و اجرا کنم. پکیج DBI کار ارتباط با دیتابیس را در پرل به عهده دارد. برای تکمیل این ارتباط به پکیج DBD-ODBC یا دیگر پکیجهای DBD هم نیاز هست. من برای اجرای این اسکریپت یک دیتابیس در SQLEXPRESS ویندوزم ساخته و در ODBC یک Data Source به اسم otrs برای آن ایجاد کردم. این هم اسکریپت:
#!/usr/bin/perl -w
use DBI;
my $dbh = DBI->connect ("DBI:ODBC:otrs")
or die "Can't connect to database: $DBI::errstr\n";
#prepare the query
my $sth = $dbh->prepare("SELECT * FROM users");
#execute the query
$sth->execute( );
## Retrieve the results of a row of data and print
print "\tQuery results:\n======================================== ======\n";
while ( my @row = $sth->fetchrow_array( ) ) {
print "@row\n";
}
warn "Problem in retrieving results", $sth->errstr( ), "\n"
if $sth->err( );
#disconnect from database
$dbh->disconnect or warn "Disconnection error: $DBI::errstr\n";
print "done";
exit;
پ. ن. ۱: من برای اجرای این اسکریپت از ActivePerl استفاده کردم. پ. ن. ۲: OTRS یک سیستم Help Desk کد باز است که قابلیتهای ITIL را هم میتوان به آن اضافه کرد.