2

SQL スクリプトがあり、それを ANT タスクに適用したいと考えています。このスクリプトはスキーマを消去し、新しいテーブルとビューを作成します。

ANT は次のようにタスクを定義しました。

<sql driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://host:3306/smth"
        userid="smth"
        password="smth"
        expandProperties="false"
        autocommit="true"             
        src="all.sql"
         >
</sql>

このタスクが起動すると、テーブルがクリアされて作成されたことがログに表示されます。しかし、最初のビューを作成しようとすると、次のように失敗します。

Failed to execute:  CREATE VIEW component... AS SELECT component_raw.id AS
MySQLSyntaxErrorException: Table 'component_raw' doesn't exist

ここで失敗する理由がわかりません。この all.sql を MySQL クエリ ブラウザから実行しても、エラーは発生しません。-v オプションを指定して ANT を起動したとき、「COMMIT」メッセージは表示されませんでした。

問題の解決にご協力ください。

4

1 に答える 1

0

私はまったく同じ問題を抱えていました.SQLファイルに#で始まるコメントがあることが判明しました。#を * -- *に置き換えた後、すべて正常に動作します。

于 2013-05-31T13:28:48.733 に答える