繁体   English   中英

尝试使用Java运行PL / SQL脚本

[英]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;

SPOOLDEFINESET都是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM