【點(diǎn)擊:】
阿木伯 著
|
|
如何在Windosws 2000中安裝perl并訪問Oracle? |
|
- 系統(tǒng)環(huán)境:
1、操作系統(tǒng):Windows 2000 Server
2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
3、安裝路徑:C:\ORACLE
- 本例使用軟件下載地址:
ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi[8.22MB] http://activestate.com/download/ActivePerl/Windows/5.6/ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi
- 安裝方法:
一、安裝 Perl 解釋器
第一步,雙擊 ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi 文件進(jìn)行安裝,使用缺省配置進(jìn)行安裝
安裝目錄選擇c:\perl;
第二步,修改注冊表,運(yùn)行 RegEdit
1、定位->HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map
2、新建字符串:名稱:".pl" 數(shù)據(jù):"c:\perl\bin\perl.exe %s %s"
3、新建字符串:名稱:".cgi"數(shù)據(jù):"c:\perl\bin\perl.exe %s %s"
第三步,設(shè)置 IIS 服務(wù)器
開始->設(shè)置->控制面板->管理工具->Internet 服務(wù)管理器->默認(rèn)Web站點(diǎn)->
鼠標(biāo)右鍵->屬性->主目錄->配置->添加->
可執(zhí)行文件(X):“C:\Perl\bin\Perl.exe %s %s”->擴(kuò)展名(E):“.pl”->
確定->確定->確定->
默認(rèn)Web站點(diǎn)->鼠標(biāo)右鍵->新建->虛擬目錄->下一步->別名(perl)->
目錄選擇(c:\perl\)->添加讀取、運(yùn)行腳本、執(zhí)行權(quán)限->下一步->完成->
注:ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi安裝完,才能使用ppm命令
注:Perl通過DBI/DBD客戶接口提供對DB2、Oracle、Sybase、Informix、Mysql...等數(shù)據(jù)庫的訪問
二、安裝 Perl 連接數(shù)據(jù)庫的模塊,先安DBI,后安Oracle接口模塊
首先,撥號或通過專線連接到Internet上
C:\>ppm
PPM interactive shell (2.1.1) - type 'help' for available commands.
PPM>
PPM> install dbi
Install package 'dbi?' (y/N): y
Retrieving package 'dbi'...
Installing C:\Perl\site\lib\auto\DBI\dbd_xsh.h
Installing C:\Perl\site\lib\auto\DBI\DBI.bs
Installing C:\Perl\site\lib\auto\DBI\DBI.dll
Installing C:\Perl\site\lib\auto\DBI\DBI.exp
Installing C:\Perl\site\lib\auto\DBI\DBI.lib
Installing C:\Perl\site\lib\auto\DBI\dbipport.h
Installing C:\Perl\site\lib\auto\DBI\DBIXS.h
Installing C:\Perl\site\lib\auto\DBI\dbi_sql.h
Installing C:\Perl\site\lib\auto\DBI\Driver.xst
Installing C:\Perl\site\lib\DBI.pm
Installing C:\Perl\site\lib\Win32\DBIODBC.pm
Installing C:\Perl\site\lib\DBI\DBD.pm
Installing C:\Perl\site\lib\DBI\FAQ.pm
Installing C:\Perl\site\lib\DBI\Format.pm
Installing C:\Perl\site\lib\DBI\ProxyServer.pm
Installing C:\Perl\site\lib\DBI\Shell.pm
Installing C:\Perl\site\lib\DBI\W32ODBC.pm
Installing C:\Perl\site\lib\DBD\ADO.pm
Installing C:\Perl\site\lib\DBD\ExampleP.pm
Installing C:\Perl\site\lib\DBD\Multiplex.pm
Installing C:\Perl\site\lib\DBD\NullP.pm
Installing C:\Perl\site\lib\DBD\Proxy.pm
Installing C:\Perl\site\lib\DBD\Sponge.pm
Installing C:\Perl\site\lib\Bundle\DBI.pm
Installing C:\Perl\bin\dbiproxy
Installing C:\Perl\bin\dbiproxy.bat
Installing C:\Perl\bin\dbish
Installing C:\Perl\bin\dbish.bat
Writing C:\Perl\site\lib\auto\DBI\.packlist
PPM>
PPM> install dbd-oracle
Install package 'dbd-oracle?' (y/N): y
Retrieving package 'dbd-oracle'...
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.bs
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.dll
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.exp
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.lib
Installing C:\Perl\site\lib\oraperl.ph
Installing C:\Perl\site\lib\Oraperl.pm
Installing C:\Perl\site\lib\DBD\Oracle.pm
Installing C:\Perl\bin\ora_explain
Installing C:\Perl\bin\ora_explain.bat
Writing C:\Perl\site\lib\auto\DBD\Oracle\.packlist
PPM>
PPM> install dbd-oracle8
Install package 'dbd-oracle8?' (y/N): y
Retrieving package 'dbd-oracle8'...
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.dll
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.exp
Installing C:\Perl\site\lib\auto\DBD\Oracle\Oracle.lib
Installing C:\Perl\site\lib\oraperl.ph
Installing C:\Perl\site\lib\Oraperl.pm
Installing C:\Perl\site\lib\DBD\Oracle.pm
Writing C:\Perl\site\lib\auto\DBD\Oracle8\.packlist
PPM>
PPM> exit
Quit!
C:\>
如果在家中不能上網(wǎng),可以到Activestate下載各種模塊,
網(wǎng)址是:http://www.activestate.com/PPMPackages/
PPM命令的解釋
E:\>ppm
PPM interactive shell (2.1.1) - type 'help' for available commands.
PPM> help
Commands:
exit - leave the program.
help [command] - prints this screen, or help on 'command'.
install PACKAGES - installs specified PACKAGES.
quit - leave the program.
query [options] - query information about installed packages.
remove PACKAGES - removes the specified PACKAGES from the system.
search [options] - search information about available packages.
set [options] - set/display current options.
verify [options] - verifies current install is up to date.
version - displays PPM version number
exit --退出PPM程序
help --顯示PPM幫助
install PACKAGES --安裝模塊,PACKAGES為模塊名
quit --同exit,退出PPM程序
query [options] --查詢當(dāng)前已安裝模塊,不加參數(shù):查詢所有已安裝模塊
remove PACKAGES --卸載已安裝模塊
search [options] --查詢可供安裝的模塊,在ActivePerl的站點(diǎn)上
set [options] --
verify [options] --
version --顯示PPM版本號
三、第一個Perl例子
給這個程序取名為test.pl,放到c:\perl\目錄下
瀏覽器中輸入http://oradb/perl/test.pl
#-------------------------------------
#!/perl/bin/perl
print "Content-type:text/html\n\n";
print "hellp Perl!";
exit;
#-------------------------------------
四、寫第一個連接Oracle的Perl程序test.pl
1、連入SQL*Plus
以system/manager用戶登錄,
SQL> conn system/manager
創(chuàng)建新的用戶:如user1/pass1,賦予connect,resource權(quán)限。
SQL> grant connect,resource to user1 identified by pass1;
SQL> conn user1/pass1
SQL> create table test(a varchar2(20),b date);
SQL> insert into test values('原有值',sysdate);
SQL> insert into test values('原有值',sysdate);
SQL> insert into test values('原有值',sysdate);
SQL> commit;
SQL> select a,to_char(b,'yyyy-mm-dd hh24:mi:ss') 日期 from test;
A 日期
-------------------- -------------------
原有值 2000-11-26 00:04:47
原有值 2000-11-26 00:04:47
原有值 2000-11-26 00:04:48
2、在c:\perl下創(chuàng)建test.pl,用notebook編輯,輸入以下代碼
#-------------------------------------
#!/perl/bin/perl
print "Content-type:text/html\n\n";
#引用格式:“use 模塊名”
use DBI;
my $dbh = DBI->connect("dbi:Oracle:oradb", 'user1','pass1');
my $sql = qq{ insert into test values('網(wǎng)頁生成值',sysdate)};
my $sth = $dbh->prepare( $sql );
$sth->execute();
$dbh->disconnect();
print "新記錄已生成,請用SQL*Plus重新查詢!";
exit;
#-------------------------------------
注:dbi:Oracle:oradb中的oradb是Oracle數(shù)據(jù)庫的實(shí)例名,使用時,請更換成你自己的實(shí)例名
3、打開一個瀏覽器窗口,輸入以下地址來查看運(yùn)行結(jié)果
http://oradb/perl/test.pl
注:oradb為本機(jī)計算機(jī)名
4、進(jìn)入SQL*Plus,重新查詢測試表test,查看新記錄是否生成成功
SQL> conn user1/pass1
SQL> select a,to_char(b,'yyyy-mm-dd hh24:mi:ss') 日期 from test;
A 日期
-------------------- -------------------
原有值 2000-11-26 00:04:47
原有值 2000-11-26 00:04:47
原有值 2000-11-26 00:04:48
網(wǎng)頁生成值 2000-11-26 00:15:45
網(wǎng)頁生成值 2000-11-26 00:15:58
網(wǎng)頁生成值 2000-11-26 00:16:15
網(wǎng)頁生成值 2000-11-26 00:16:28
經(jīng)驗(yàn)證,新記錄生成成功。
|
【最后更新:】 |
|