【点击:】 阿木伯 著 |
|
如何在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 经验证,新记录生成成功。
|
【最后更新:】 |
|