Ant 任务检查数据库(连接)是否存在?

2024-01-03

ANT 是否有可能在不导致构建失败的情况下检查数据库(连接)是否存在?

例如:

<target name="check-database-available">
    <sql
        classpath="${oracle.jar}" driver="oracle.jdbc.OracleDriver"
        url="jdbc:oracle:thin:@${my.db.host}:${my.db.port}:${my.db.sid}" 
        userid="${my.db.user}" 
        password="${my.db.pw}"
        onerror="continue" errorproperty="exit.status">
        select * from dual;
    </sql>
    <echo message="### exit status = ${exit.status}" />
</target>

这总是会失败并显示 BUILD FAILED 和

java.sql.SQLException: ORA-01017: invalid username/password; logon denied

因为数据库还不存在。将“onerror”设置为“继续”并检查“errorproperty”将不起作用,因为任务似乎没有执行。


从 Ant v 1.8.0 开始,您可以使用failOnConnectionErrorSQL 任务的属性。

描述如下:

如果为 false,则如果任务无法连接到数据库,将仅打印警告消息,并且不执行任何语句。

看起来它可以解决你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ant 任务检查数据库(连接)是否存在? 的相关文章

随机推荐

  • 在 Ubuntu Linux 中运行的 CodeIgniter IDE [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • addEventListener 与 onclick

    有什么区别addEventListener and onclick var h document getElementById a h onclick dothing1 h addEventListener click dothing2 上
  • 如何在 ubuntu 18.04.2 上访问 nuget 包管理器控制台

    所以我在我刚买的这台小笔记本电脑上安装了ubuntu 18 04 2 thinkpad x220 我正在尝试将其打造成一台可以在其上编写 ASP NET Core 应用程序的机器 然而 我一生都无法找到如何在 Ubuntu 终端的包管理器控
  • 什么时候需要 NS_RETURNS_RETAINED ?

    以下面的例子为例 NSString pcen NS RETURNS RETAINED return bridge transfer NSString CFURLCreateStringByAddingPercentEscapes NULL
  • Visual Studio 2010 启动时出现未知错误

    我正在尝试从桌面启动 Visual Studio 2010 但只是弹出此错误框 显示 未知错误 任何人都知道为什么会发生这种情况 我刚刚修复了它 卸载并重新安装了我的 NET Framework 版本 v4 0 然后 当我再次尝试启动 Vi
  • C 中的不透明(抽象)数据类型

    文件 api h include
  • Sublime Text 需要重新启动设置更改才能生效

    我的 Sublime Text 3 但也适用于 ST2 因为我在切换到 ST3 之前遇到了同样的问题 需要重新启动才能使任何设置更改生效 这种情况发生在办公室的 Mac Mini 上 但不会发生在我的 Macbook Pro 上 两者的设置
  • Android-Studio:错误:无法创建 Java 虚拟机

    我今天刚刚安装了Android studio 首先我必须为此 IDE 安装 jdk7 之后只有我能够启动 IDE 现在 当我尝试创建新项目时 出现错误 如下图所示 有人可以帮助我吗 我的身边缺少什么 就我而言 我更改了以下文件来修改虚拟机堆
  • 通过 C API 从字符串创建并调用 python 函数

    是否可以从字符串加载 python 函数 然后使用参数调用该函数并获取返回值 我正在使用 python C API 从我的 C 应用程序内部运行 python 代码 我可以使用以下命令从文件加载模块PyImport Import 从中获取一
  • 有 Yahoo 查询语言 (YQL) 的 .NET 示例吗?

    我想打一些简单的电话雅虎查询语言 YQL http developer yahoo com yql 有人在 NET 中实现过这个吗 这是我想从 NET 进行的查询 select MarketCapitalization from yahoo
  • Sammy 路由不工作

    我无法让 sammy js 路由按预期工作 我有以下 JavaScript function var app sammy main function this get function context context log start p
  • 硒未找到元素

    这是 HTML https www dropbox com s aiaw2u4j7dkmui2 Untitled 20picture png https www dropbox com s aiaw2u4j7dkmui2 Untitled
  • Newtonsoft.Json SerializeObject 不带转义反斜杠

    给出代码 dynamic foo new ExpandoObject foo Bar something string json Newtonsoft Json JsonConvert SerializeObject foo 输出如下 Ba
  • 在 JavaScript 中缩放到没有画布的光标

    我有一个 img 通过调整鼠标滚轮滚动来缩放transform scale 我希望缩放像 Google 地图一样 您可以缩放到鼠标光标所在的位置 而不是图像的中心 不过 我不想使用画布 只是为了学习体验 这也是我发现的其他问题并没有真正帮助
  • WSO2 Identity Server Service Pack 的来源

    WSO2 Identity Server 5 0 0 的 Service Pack 1 的源是否公开可用 我在哪里可以找到 SVN 存储库中的源代码 Service Pack 没有任何源代码 服务包是通过聚合为 WSO2 中的产品提供的补丁
  • Rails 中的 Kerberos 身份验证

    是否可以使用 kerberos 对 Rails 下的用户进行身份验证 是否有任何现有插件 最好是扩展 authlogic 的功能 来执行此操作 我希望其他人能够向我们展示一种纯粹的 Rails 方法来做到这一点 但在那之前 让事情顺利进行的
  • 开发cocos-lua游戏时,Android中string.find中文字符失败,PC上成功

    我尝试使用string find 中国 中 我开发cocos lua游戏时 在PC上成功 但在Android上失败 在安卓上 string find return nil 首先 我认为它们的编码可能不同 所以我尝试打印出它们的字节 Andr
  • 使用 `*((*(&array + 1)) - 1)` 获取自动数组的最后一个元素是否安全?

    假设我想获取大小未知的自动数组的最后一个元素 我知道我可以利用sizeof运算符来获取数组的大小并相应地获取最后一个元素 正在使用 array 1 1 safe Like char array SOME SIZE printf Last e
  • 从android中的地址获取纬度和经度

    我尝试从地址获取纬度和经度 问题是 当我只给出城市名称时 它会给出正确的纬度和经度 而当我给出完整的地址 如州 城市名称 街道号码 时 它会给出正确的纬度和经度没有给我正确的纬度和经度 感谢您的配合回复 我的代码是 String addre
  • Ant 任务检查数据库(连接)是否存在?

    ANT 是否有可能在不导致构建失败的情况下检查数据库 连接 是否存在 例如