如何通过JDBC在DB2上创建/删除数据库?

如何通过JDBC在DB2上创建/删除数据库?,jdbc,db2,ddl,Jdbc,Db2,Ddl,我有一些使用JDBC连接MySQL、PostgreSQL、Oracle和SQLServer的测试代码,但数据库之间只有一些细微的差异。我也想在DB2上运行此测试代码。要从空白板开始,同时测试我们的数据库创建DDL,测试从创建数据库开始(例如CREATE database),然后删除该数据库结束(例如DROP database) 我读到一句话,至少在DB2forLinux上,不能通过JDBC运行CREATE DATABASE和DROP DATABASE,而只能从命令行运行,这对于在DB2上运行集成

我有一些使用JDBC连接MySQL、PostgreSQL、Oracle和SQLServer的测试代码,但数据库之间只有一些细微的差异。我也想在DB2上运行此测试代码。要从空白板开始,同时测试我们的数据库创建DDL,测试从创建数据库开始(例如
CREATE database
),然后删除该数据库结束(例如
DROP database


我读到一句话,至少在DB2forLinux上,不能通过JDBC运行
CREATE DATABASE
DROP DATABASE
,而只能从命令行运行,这对于在DB2上运行集成测试来说是个麻烦。真的没有办法通过JDBC创建并删除数据库吗?

JDBC只用于SQL。CREATEDATABASE或Drop database不是SQL,因此无法从JDBC执行该语句。您可以通过运行时类执行DB2命令,或者使用JNI来使用DB2API

  • db2创建数据库命令
  • sqlecreaapi

感谢您的回复。通过“运行时类”,您是指可以从Java代码调用的Java类/API吗?在哪里可以找到有关此API的更多信息?我不喜欢使用JNI,因为这会带来比我希望的更多的可移植性、部署和配置复杂性。