我的程序已经运行了,我有Perl(GUI窗口),我可以在其中输入数据,传递到网页的数据(使用到Tomcat服务器,JSP),然后将其保存到oracle数据库.我想要的是使用Perl CGI创建从Oracle数据库中检索/提取数据的搜索参数(webapp).可能吗?或者任何解决我的计划的建议?谢谢!:-)
是的,您可以使用DBI和DBD :: Oracle模块.
然而,Oracle存在一些问题.我记得Oracle 8的一些有趣和游戏因此可能不再适用但它确实需要在某些情况下设置OR变量,如ORACLE_HOME,ORACLE_BASE和ORACLE_SID.
DBD :: Oracle doc确实进入了这个,并且还提到了另一个ENV变量TWO_TASK.让它工作可能取决于....
您运行的是哪个版本的Oracle
你是否有听众(我认为你需要像CGI这样的网络访问?)
您使用的是什么版本的SQL*Net.
似乎令人生畏,但您可能需要的只是在Web服务器中添加这些ENV变量(iPlanet就是我当时使用的).或者从DBD :: Oracle doc中提供......
BEGIN { $ENV{ORACLE_HOME} = '/home/oracle/product/10.x.x'; $ENV{TWO_TASK} = 'DB'; } $dbh = DBI->connect('dbi:Oracle:','scott', 'tiger'); # - or - $dbh = DBI->connect('dbi:Oracle:','scott/tiger');
PS.以上假设您在与Oracle相同的服务器上运行CGI脚本!如果没有,那么这些ENV变量是多余的,你可以这样做(从我的旧脚本中拉出来!)......
my $db = DBI->connect("dbi:Oracle:host=$host;sid=$database", $user, $pass, { RaiseError => 0, PrintError => 0 } ) or croak( "Unable to connect to DB - $DBI::errstr" );
但是我确实记得要在Oracle服务器上调整类似TNLISTENER.CONF的东西(这是几年前因为内存让我失望了一些!)而且我很确定你需要下载一些客户端Oracle库(你可以从中获取)他们的网站).