q968 发表于 2016-11-17 01:47:37

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

一般在执行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();
}
}
页: [1]
查看完整版本: com.ibm.db2.jcc.DB2Driver连接数据库时schema名大小写的问题