2011-01-11 6 views
0

テーブルの顧客を作成する必要があるこのantスクリプトがあります。私は "データベースの更新中です..."というメッセージが表示されるので、SQLタスクにヒットすると何も出力されないので、何がうまくいかなかったのかを理解するのが難しいです。 「アップグレードが完了しました。メッセージが表示されることはありませんので、どこかで致命的なエラーがあったと判断します。ant sqlタスクの問題

問題なく読み込まれた%ANT_HOME%/ libの他のライブラリとともにsqljdbc4.jarドライバを配置しました。どこが間違っていたのか分かっていれば、少なくとも解決策を探すことができましたが、今のところ私は同じような問題を抱えている人の慈悲を受けています。確かに私は見つけられないという明らかな問題です。どんな入力も非常に高く評価されます。

タスクのためのコードは以下の通りです:

<!-- ================================= 
      target: execute-script   
     ================================= -->  
<target name="execute-script"> 
     <echo message="Updating database..." /> 
     <sql print="true" failOnConnectionError="true" 
       driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
       url="jdbc:sqlserver://localhost:1433;DatabaseName=database;selectmethod=cursor" 
       userid="ctsql" 
       password="ctsqlone"> 
      <transaction> 
       CREATE TABLE customer 
       (First_Name char(50), 
       Last_Name char(50), 
       Address char(50), 
       City char(50), 
       Country char(25), 
       Birth_Date datetime);    
      </transaction> 
     </sql> 
     <echo message="Upgrade complete." /> 
</target> 
+0

あなたは何について答えていますか? – Neil

+0

ああ、問題ありません。私は難しい質問をしがちです。 :) – Neil

答えて

0

あなたは通常、トランザクション内のDDL文(create tableなど)を発行していません。囲みトランザクションを削除してみることはできますか?

Sybaseは、例えば、そのような文がエラーを発生させることはできません:

The 'CREATE TABLE' command is not allowed within a multi-statement transaction in the 'xxxxx' database. 

私はと遊ぶためにSQL Serverインスタンスを持っていないが、同様の行動を期待します。

0

私は自分の質問に答えました。私は自分のカスタムタスクからターゲットを呼び出し、例外が捕捉され、エラーメッセージが表示されずに正常にビルドが続けられました。私は現時点では他の問題を抱えていますが、私は今何が起こっているのかを見ています。

もう一度謝罪します。