1

次の内容のファイルがあります。

--KERNEL72--SWIFTシルバーの変更が始まります

/ *

同義語ispkss_vals
/を削除します

ispks_valsの同義語ispkss_valsを作成します
/

* /-KERNEL72-SWIFTシルバーの変更は、以下の行の後に終了します

ispks_valsの同義語ispkss_valsを作成または置換します
/

これはSQLPlusで正しくコンパイルされています。しかし、ANTを使用してコンパイルしているときに、次のエラーが発生します。

[sql] Failed to execute:                    

[sql]-KERNEL72-SWIFTシルバーの変更開始
[sql]/*
[sql]ドロップ同義語ispkss_vals
[sql]java.sql.SQLException:無効なSQLタイプ
[sql]実行に失敗しました:
[sql]ispks_valsの同義語ispkss_valsを作成
[ sql] java.sql.SQLSyntaxErrorException:ORA-00955:名前は既存のオブジェクトによってすでに使用されています[sql]実行に失敗しました:
[sql] * /-KERNEL72-SWIFTシルバーの変更は、以下の行
[sql]createまたはreplaceの後に終了します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コンパイルが適切でない理由についてアドバイスしてください。

4

1 に答える 1

2

おそらく問題は/、ステートメントの区切り文字として使用していて、コメントしようとしていること/* ... */です。

コメントの開始と終了を区切り文字として扱い、意味のないSQLステートメントを作成している可能性があります。(1つは*、などで始まります)

于 2013-03-08T09:36:30.000 に答える