1

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

-- KERNEL72 - SWIFT Silver 更改开始

/*

删除同义词 ispkss_vals
/

为 ispks_vals 创建同义词 ispkss_vals
/

*/-- KERNEL72 - SWIFT Silver 更改在以下行之后结束

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

这在 SQL Plus 中正确编译。但是在使用 ANT 编译时,出现以下错误:

[sql] Failed to execute:                    

[sql] -- KERNEL72 - SWIFT Silver 更改开始
[sql] /*
[sql] drop synonym ispkss_vals
[sql] java.sql.SQLException: Invalid SQL type
[sql] 无法执行:
[sql] create synonym ispkss_vals for ispks_vals
[ sql] java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object [sql] Failed to execute:
[sql] */-- KERNEL72 - SWIFT Silver 更改在以下行后结束
[sql] 创建或替换ispks_vals
[sql] java.sql.SQLSyntaxErrorException 的同义词 ispkss_vals: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 编译不正确提出建议。

4

1 回答 1

2

也许问题是您正在/用作语句分隔符并且还试图用/* ... */?

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

于 2013-03-08T09:36:30.000 回答