com.ibm.db2.jcc.DB2Driver连接数据库时schema名大小写的问题

2019-04-14 09:07发布

一般在执行SQL语句等db2命令时,除了密码以外是不用区分大小写的,这是因为db2会自动给你转换成大写。而且表名等object的名字也是以大写保存在数据库中的,不管你创建的时候是大写还是小写。

使用com.ibm.db2.jcc.DB2Driver驱动连接数据库,在指定缺省模式名的情况下,模式名不会自动转换。就是说如果提供的是小写的模式名,那么以后的select,updata等数据库操作,没有显式指定模式名的情况下都将失败。

当然是也可以建小写schema名的schema的


import java.util.Properties;

public class TESTDB {

public static void main(String[] args) {
String sDBDriver = "com.ibm.db2.jcc.DB2Driver";
String sConnDataBase = "jdbc:db2://192.168.12.24:50001/TAXEXDB";

Properties properties = new Properties();
properties.setProperty("user","huangzh");
properties.setProperty("password","passw0rd");
properties.setProperty("currentSchema","huangzh");

Connection con;

Statement stmt;
ResultSet rs;
try {
Class.forName(sDBDriver);
con = DriverManager.getConnection(sConnDataBase, properties);

stmt = con.createStatement();
rs = stmt.executeQuery("select * from test1");

while(rs.next()){
System.out.println("F1=" + rs.getString(1));
}

rs.close();
stmt.close();
con.close();

} catch(Exception e) {
e.printStackTrace();
}
}