首页  编辑  

如何在Windosws 2000中安装perl并访问Oracle

Tags: /超级猛料/Database.数据库相关/Oracle/oracle系统配置,优化,连接/   Date Created:

【点击: 12581 】 阿木伯 著  

如何在Windosws 2000中安装perl并访问Oracle?

系统环境:

1、操作系统:Windows 2000 Server

2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版

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 文件进行安装,使用缺省配置进行安装

    安装目录选择c:\perl;

第二步,修改注册表,运行 RegEdit

    1、定位->HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Script Map

    2、新建字符串:名称:".pl" <-->数据:"c:\perl\bin\perl.exe %s %s"

    3、新建字符串:名称:".cgi"<-->数据:"c:\perl\bin\perl.exe %s %s"

第三步,设置 IIS 服务器

    开始->设置->控制面板->管理工具->Internet 服务管理器->默认Web站点->

    鼠标右键->属性->主目录->配置->添加->

    可执行文件(X):"C:\Perl\bin\Perl.exe %s %s"->扩展名(E):".pl"->

    确定->确定->确定->

    默认Web站点->鼠标右键->新建->虚拟目录->下一步->别名(perl)->

    目录选择(c:\perl\)->添加读取、运行脚本、执行权限->下一步->完成->

注:ActivePerl-5.6.0.620-MSWin32-x86-multi-thread.msi安装完,才能使用ppm命令

注:Perl通过DBI/DBD客户接口提供对DB2、Oracle、Sybase、Informix、Mysql...等数据库的访问

二、安装 Perl 连接数据库的模块,先安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:\>

如果在家中不能上网,可以到Activestate下载各种模块,

网址是: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]   --查询当前已安装模块,不加参数:查询所有已安装模块

remove PACKAGES   --卸载已安装模块

search [options]  --查询可供安装的模块,在ActivePerl的站点上

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

创建新的用户:如user1/pass1,赋予connect,resource权限。

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下创建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('网页生成值',sysdate)};

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

$sth->execute();

$dbh->disconnect();

print "新记录已生成,请用SQL*Plus重新查询!";

exit;

#-------------------------------------

注:dbi:Oracle:oradb中的oradb是Oracle数据库的实例名,使用时,请更换成你自己的实例名

3、打开一个浏览器窗口,输入以下地址来查看运行结果

http://oradb/perl/test.pl

注:oradb为本机计算机名

4、进入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

网页生成值           2000-11-26 00:15:45

网页生成值           2000-11-26 00:15:58

网页生成值           2000-11-26 00:16:15

网页生成值           2000-11-26 00:16:28

经验证,新记录生成成功。

【最后更新: 06/03/2002 11:01:12 】