コンテクスト
インストールスクリプトを変更して、独自のSQLクライアントであるsqlplus(oracle)とosql(msft)ではなく、antの「sql」タスクとjdbcを使用します。
更新:コンテキストを追加しました。「ベースデータ」(シードデータ)は、「ベンダーニュートラル」(つまり、oracleとmssqlの両方で機能する)SQLステートメントを含む.sqlファイルのコレクションで構成されています。
問題
スクリプトは正常に実行されますが、1つの例外があります。
このSQLはOracleで失敗します。具体的には、何か(antまたはjdbcドライバー)は、ダッシュ/ハイフンが文字列に埋め込まれている場合でも、「コメントの始まり」として扱います。同じSQLがant/sqlとmicrosoftのjdbcドライバーで正常に機能することに注意してください。
INSERT INTO email_client (email_client_id,generated_reply_text) VALUES(100002,'----- Original Message -----');
関連するバグ
このアリのバグは問題を特定しているようです。それはまだ開いているので(8年後)、私はすぐに修正されることを望んでいません。ただし、問題はOracleでのみ発生するため、ドライバにある可能性があります。
oracleドライバー:jdbcシンドライバー、バージョン10.2.0.1.0
質問
誰かがmssqlとoracleの両方で機能する回避策を持っていますか?(たとえば、問題のある行を変更してエスケープ文字を定義しますか?「挿入」sql92構文に「エスケープ」が表示されません)
ありがとう