2010-03-19 69 views
2

無法運行以下從螞蟻的SQL任務 SQL:PLS-00103:遇到下列其中一項時遇到符號「文件結束」::=。 (%;

BEGIN 
    DBMS_AQADM.CREATE_QUEUE_TABLE(
    queue_table => 'MY_QUEUE', 
    queue_payload_type => 'sys.aq$_jms_map_message'); 

    DBMS_AQADM.CREATE_QUEUE(
    queue_name => 'MY_QUEUE', 
    queue_table => 'MY_QUEUE'); 

    DBMS_AQADM.START_QUEUE (
    queue_name => 'MY_QUEUE'); 

END; 
/

有以下errror:

CreateMyQueue: 
     [sql] Executing resource: /u1/bin/sql/createMyQueue.sql 
     [sql] Failed to execute: BEGIN DBMS_AQADM.CREATE_QUEUE_TABLE(queue_table => 'MY_QUEUE', queue_payload_type => 'sys.aq\$_jms_map_message') 

BUILD FAILED 
/u1/bin/.tools/build.xml:194: java.sql.SQLException: ORA-06550: line 1, column 118: 
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following: 
    := . (% ; 

什麼是錯的SQL

回答

3

這裏是解決方案嗎? !
http://www.javaddicts.net/blog/index.php/2005/06/13/executing-oracle-plsql-from-ant/
應使用以下參數
定界符= 「/」
delimitertype = 「行」

<project name="SWPDEPLOYMENT" basedir="." default="all"> 
    <target name="createMyQueue"> 
     <sql driver="oracle.jdbc.driver.OracleDriver" 
      url="${sqlurl}" 
      userid="${userid}" 
      password="${pwd}" 
      print="yes" 
      delimiter="/" 
      delimitertype="row" 
      > 
     <fileset dir="."> 
      <include name="createMyQueue.sql"/> 
     </fileset> 
     </sql> 
    </target> 

相關問題