在 Shell 脚本中通过 JDBC 连接到 DB2

Posted

技术标签:

【中文标题】在 Shell 脚本中通过 JDBC 连接到 DB2【英文标题】:Connection to DB2 through JDBC in Shell Script 【发布时间】:2020-02-18 22:41:59 【问题描述】:

我想在 Linux 服务器上通过 Shell Script 中的 JDBC 连接 DB2 数据库

我有 jdbc 详细信息 jdbc:db2://10.XXX.XXX.XX:/

我知道我们可以使用“Db2 Connect”命令进行连接,但 DBA 不建议这样做。他们要求只使用 jdbc。

感谢您的帮助,您可以指向任何示例脚本。

谢谢, 拉杰什

【问题讨论】:

【参考方案1】:

仅使用 jdbc 编写脚本的一种方法是使用 IBM 提供的 CLPPlus 命令。那是一个java应用程序。它试图模拟 Oracle SQL*Plus 工具的许多功能。这在 Db2 知识中心中得到了很好的解释。

CLPPlus 有一些限制,可能不适用于占用空间较小的客户端,请参阅文档。

但是,几乎所有旧版 Db2 环境在 shell 中编写脚本时都使用常规的 db2 命令,因为它是最安全、最灵活、最成熟且占用空间最小的工具。但它是本机代码 (C/C++) 而不是 java。因此,您应该请 DBA 解释不推荐该方法的理由。

【讨论】:

【参考方案2】:

还有 jsqsh https://github.com/scgray/jsqsh/wiki 可以连接到任何 JDBC 端点。得到 IBM https://www.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.analyze.doc/doc/bsql_jsqsh.html 的认可

【讨论】:

以上是关于在 Shell 脚本中通过 JDBC 连接到 DB2的主要内容,如果未能解决你的问题,请参考以下文章

在同一局域网中通过 JDBC 连接到 Postgres 服务器时出现 PSQLException(PGAdmin 工作)

在 Web 应用程序中通过 JDBC 连接到数据库时,何时需要 Class.forName?

在 Netbeans 中通过 SSH 连接到 MySql db

用于从该框中通过 SSH 连接到 jumphost 和 sftp 的 Python 脚本

无法从R Studio JDBC驱动程序连接到DB2服务器

在 Spring Boot 2、Hibernate、PostgreSQL 中通过 JDBC 语句执行 DDL 时出错