设为首页 收藏本站
查看: 1507|回复: 0

[经验分享] 在Win2000中安装perl并访问Oracle

[复制链接]

尚未签到

发表于 2016-8-6 18:12:40 | 显示全部楼层 |阅读模式
在Win2000中安装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\CurrentControlSetServices\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:PerlsitelibautoDBIdbd_xsh.h
Installing C:PerlsitelibautoDBIDBI.bs
Installing C:PerlsitelibautoDBIDBI.dll
Installing C:PerlsitelibautoDBIDBI.exp
Installing C:PerlsitelibautoDBIDBI.lib
Installing C:PerlsitelibautoDBIdbipport.h
Installing C:PerlsitelibautoDBIDBIXS.h
Installing C:PerlsitelibautoDBIdbi_sql.h
Installing C:PerlsitelibautoDBIDriver.xst
Installing C:PerlsitelibDBI.pm
Installing C:PerlsitelibWin32DBIODBC.pm
Installing C:PerlsitelibDBIDBD.pm
Installing C:PerlsitelibDBIFAQ.pm
Installing C:PerlsitelibDBIFormat.pm
Installing C:PerlsitelibDBIProxyServer.pm
Installing C:PerlsitelibDBIShell.pm
Installing C:PerlsitelibDBIW32ODBC.pm
Installing C:PerlsitelibDBDADO.pm
Installing C:PerlsitelibDBDExampleP.pm
Installing C:PerlsitelibDBDMultiplex.pm
Installing C:PerlsitelibDBDNullP.pm
Installing C:PerlsitelibDBDProxy.pm
Installing C:PerlsitelibDBDSponge.pm
Installing C:PerlsitelibBundleDBI.pm
Installing C:Perlbindbiproxy
Installing C:Perlbindbiproxy.bat
Installing C:Perlbindbish
Installing C:Perlbindbish.bat
Writing C:PerlsitelibautoDBI.packlist
PPM>
PPM> install dbd-oracle
Install package 'dbd-oracle?' (y/N): y
Retrieving package 'dbd-oracle'...
Installing C:PerlsitelibautoDBDOracleOracle.bs
Installing C:PerlsitelibautoDBDOracleOracle.dll
Installing C:PerlsitelibautoDBDOracleOracle.exp
Installing C:PerlsitelibautoDBDOracleOracle.lib
Installing C:Perlsiteliboraperl.ph
Installing C:PerlsitelibOraperl.pm
Installing C:PerlsitelibDBDOracle.pm
Installing C:Perlbinora_explain
Installing C:Perlbinora_explain.bat
Writing C:PerlsitelibautoDBDOracle.packlist
PPM>
PPM> install dbd-oracle8
Install package 'dbd-oracle8?' (y/N): y
Retrieving package 'dbd-oracle8'...
Installing C:PerlsitelibautoDBDOracleOracle.dll
Installing C:PerlsitelibautoDBDOracleOracle.exp
Installing C:PerlsitelibautoDBDOracleOracle.lib
Installing C:Perlsiteliboraperl.ph
Installing C:PerlsitelibOraperl.pm
Installing C:PerlsitelibDBDOracle.pm
Writing C:PerlsitelibautoDBDOracle8.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/htmlnn';
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/htmlnn';

#引用格式:“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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253843-1-1.html 上篇帖子: 工作中遇到的oracle ORA-XX 错误 下篇帖子: Oracle推出首个Java 7闭包版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表