我有JDBC连接的DB2,如何识别这是Z/OS390或AS400或UDB连接。
有没有什么模式可以给出DB2类型的概念?
发布于 2018-01-28 09:26:30
您可以使用DatabaseMetaData.getDatabaseProductName()和DatabaseMetaData.getDatabaseProductVersion()。例如,在Linux10.5fix pack7上,它们分别返回DB2/LINUXX8664和SQL10057。
示例代码:
import java.sql.*;
class Test {
public static void main(String args[]) {
if (args.length == 0 ) {
System.out.println("need url");
System.exit(1);
}
String url = args[0];
try {
Class.forName("com.ibm.db2.jcc.DB2Driver");
Connection c = DriverManager.getConnection(url);
if (c != null) {
DatabaseMetaData meta = c.getMetaData();
if (meta != null) {
System.out.println( String.format(
"Connected to %s %s (%d.%d)",
meta.getDatabaseProductName(),
meta.getDatabaseProductVersion(),
meta.getDatabaseMajorVersion(),
meta.getDatabaseMinorVersion()
)
);
}
else {
System.out.println("Metadata is null");
}
}
c.close();
}
catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
System.exit(1);
}
}
}https://stackoverflow.com/questions/48476009
复制相似问题