tags:

views:

1015

answers:

2

Can not run following SQL from ant's sql task:

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;
/

There are following 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:
   := . ( % ;

What is wrong with SQL?

+2  A: 

Here is the solution!
http://www.javaddicts.net/blog/index.php/2005/06/13/executing-oracle-plsql-from-ant/
Following parameters should be used
delimiter="/"
delimitertype="row"

<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>

Vladimir Bezugliy