Perl經典問題 - Can't create TCP/IP socket (10106)

之所以說經典,是因爲我搜索了很久也沒有看到合適的答案。原因可能有很多,有人說是系統補丁,也有可能說是數據庫。在這裏,我先把我的問題簡單描述一下:

第一步,我用如下Perl 腳本去查詢MySQL數據庫(^@^ 非常簡單的代碼!)

==========================================================

use DBI;

my $dbname = "bugs";

my $location = "localhost";

my $port = "3306"; #這是mysql的缺省

my $database ="DBI:mysql:$dbname:$location:$port";

my $db_user = "root";

my $db_pass = "root";

my $dbh =DBI->connect($database,$db_user,$db_pass);

my $sql = "SELECT * FROMaudit_log";

my $sth = $dbh->prepare($sql);#準備

$sth->execute() or die "無法執行SQL語句:$dbh->errstr";#執行

while (@data = $sth->fetchrow_array()){#fetchrow_array返回row

         print"Email:$data[0]\t Telephone:$data[1]\n";    

}

$sth->finish();

$dbh->disconnect;#斷開數據庫連接

==========================================================

 

第二步,我用命令行執行,結果正常

 

wKioL1Up1YDyOnsjAAE6s9XbIw0697.jpg

第三步,配置IIS,增加一個Handler,如下:

wKiom1Up1DbSA8RLAAR22ioH2Zw329.jpg

wKioL1Up1Yeh8mOnAAQuwwev9Ew325.jpg

wKioL1Up1YixPOWCAAHrT9CneaA583.jpg

第四步,在瀏覽器中打開Perl 腳本(注:可以暫時忽略前面那個錯誤提示:The specified CGI application misbehaved by not returning a completeset of HTTP headers.

 wKiom1Up1EDR9fKQAAX8_pKb8c8192.jpg


奇怪的地方就是:Perl 命令行執行沒有任何問題,爲什麼用IIS執行就出現數據庫連接錯誤呢?我曾經也嘗試過如下配置:

C:\Perl\bin\perl.exe "%s" %s

C:\Perl\bin\perl.exe %s

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章