[英]Trying to run PL/SQL script using Java
我熟悉Java JDBC,并经常使用它来运行简单的SQL。 但是,我想运行以下内容。 这比常规的SQL更多的PL / SQL,因此是我的问题。 我不是从Oracle机器运行此程序,而是从我自己的计算机运行此程序。 有人可以帮助我使用Java运行这种PL / SQL吗?
spool C:\count.txt;
DEFINE date="TO_DATE ('08-29-2011','mm-dd-yyyy')";
SET NEWPAGE 0;
SET SPACE 0;
SET LINESIZE 500;
SET PAGESIZE 0;
SET ECHO OFF;
SET FEEDBACK OFF;
SET VERIFY OFF;
SET HEADING OFF;
SET TRIMSPOOL ON;
alter session set nls_date_format='yyyy-mm-dd hh24:mi';
select 'TABLE1', count(*) from SCHEMA.TABLE1 where modifyts < &date;
select 'TABLE2', count(*) from SCHEMA.TABLE2 where modifyts < &date;
select 'TABLE3', count(*) from SCHEMA.TABLE3 where modifyts < &date;
spool off;
SPOOL
, DEFINE
和SET
都是SQL * Plus命令。 它们在PL / SQL或SQL中无效。 因此,您无法通过SQL * Plus以外的工具(或支持SQL * Plus命令的工具,例如SQL Developer或Toad)运行此类脚本。
当然,您可以将Java应用程序调出到操作系统,以调用SQL * Plus可执行文件(假设它已安装在运行Java应用程序的计算机上)并将脚本传递给SQL * Plus。 但这通常比您所需要的复杂得多。 仅使用SQL * Plus或仅从Java应用程序发出SELECT
语句并使用Java的文件I / O类将结果写入文件中,这将更有意义。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.