首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ant sql任务问题

ant sql任务问题
EN

Stack Overflow用户
提问于 2011-01-11 19:21:07
回答 2查看 1.1K关注 0票数 0

我有这个ant脚本,它应该创建表customer。我看到消息“正在更新数据库...”所以我知道它被调用了,但是当它遇到sql任务时,没有输出任何东西,所以我很难理解哪里出了问题。“升级完成”。消息永远不会显示,所以我认为在某个地方有致命的错误。

我将sqljdbc4.jar驱动程序与其他库放在%ANT_HOME%/lib中,它们可以正常读取。如果我知道哪里出了问题,我至少可以寻找解决方案,但就目前而言,我受到任何有过类似问题的人的摆布。当然,这是一个显而易见的问题,我就是看不出来。我们将非常感谢您的任何意见。

该任务的代码如下:

代码语言:javascript
复制
<!-- ================================= 
          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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-11 20:43:36

通常不会在事务中发出DDL语句(create table等)。您可以尝试删除封闭的事务吗?

例如,Sybase不允许这样的语句引发错误:

代码语言:javascript
复制
The 'CREATE TABLE' command is not allowed within a multi-statement transaction in the 'xxxxx' database.

我没有可以使用的SQL Server实例,但我希望有类似的行为。

票数 0
EN

Stack Overflow用户

发布于 2011-01-11 21:24:14

我已经回答了我自己的问题。我从我自己的自定义任务中调用了目标,异常被捕获,构建正常继续,没有显示任何错误消息。目前我还有其他问题,但我想我现在可以让它工作了,因为我看到了我得到的错误。

再次向您道歉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4657050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档