2011-01-11 5 views
0

У меня есть этот скрипт муравья, который должен создать клиента таблицы. Я вижу сообщение «Обновление базы данных ...», поэтому я знаю, что он вызывается, однако, когда он попадает в задачу sql, ничего не выводится, и поэтому мне трудно понять, что пошло не так. «Обновление завершено». сообщение никогда не отображается, поэтому я полагаю, что где-то была фатальная ошибка.Проблема с задачей sql sql

Я разместил драйверы sqljdbc4.jar с другими библиотеками в% ANT_HOME%/lib, которые читаются без проблем. Если бы я знал, где это происходит, я мог бы хотя бы найти решение, но, поскольку он стоит сейчас, я нахожусь во власти любого, у кого была аналогичная проблема. Конечно, это очевидная проблема, которую я просто не вижу. Любой вход был бы весьма признателен.

Код для задачи ниже:

<!-- ================================= 
      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

Я ответил на свой вопрос. Я вызвал цель из моей собственной задачи, и исключение было поймано, и сборка продолжалась нормально, при этом не отображалось сообщение об ошибке. На данный момент у меня есть другие проблемы, но я думаю, что теперь я могу заставить его работать, чтобы понять, какую ошибку я получаю.

Снова извини.

Смежные вопросы