Plsql语句不能与ANT一起使用

时间:2013-03-08 09:17:31

标签: sql ant plsql sqlplus

我有一个包含以下内容的文件:

  

- KERNEL72 - SWIFT银牌改变开始

     

/ *

     

删除同义词ispkss_vals
  /

     

为ispks_vals创建同义词ispkss_vals
  /

     

* / - KERNEL72 - SWIFT白银更改在以下行

之后结束      

为ispks_vals创建或替换同义词ispkss_vals   /

这是在SQL Plus中正确编译的。但是在使用ANT进行编译时,我收到以下错误:

[sql] Failed to execute:                    
     

[sql] - KERNEL72 - SWIFT白银更改开始   [sql] / *
  [sql] drop synonym ispkss_vals
  [sql] java.sql.SQLException:无效的SQL类型
  [sql]执行失败:
  [sql]为ispks_vals创建同义词ispkss_vals   [sql] java.sql.SQLSyntaxErrorException:ORA-00955:现有对象已使用name   [sql]执行失败:
  [sql] * / - KERNEL72 - SWIFT白银更改在以下行之后结束   [sql]为ispks_vals创建或替换同义词ispkss_vals   [sql] java.sql.SQLSyntaxErrorException:ORA-00900:无效的SQL语句

我使用以下ANT脚本进行编译:

                  <sql driver="oracle.jdbc.driver.OracleDriver"
        url="jdbc:oracle:thin:@10.184.1.13:1521:UPP"
        userid="${UsernameB}"
        password="${PasswordB}"
        onerror="continue"
        strictDelimiterMatching="false"
        delimiter="/"
        keepformat="yes">

请告知ANT编辑为何不合适。

1 个答案:

答案 0 :(得分:2)

问题可能是您使用/作为语句分隔符并尝试使用/* ... */发表评论?

它可能将注释打开和关闭视为分隔符,创建没有意义的sql语句。 (一个会从*等开始。)