1。以前看到过,不太记得了,好像要转换成流的方式读写
2。如果只有主见不能使null的话,是否可以用isNullable(int column) 方法或columnNoNulls静态方法
一点遇见,期待高手
gz

解决方案 »

  1.   

    /**
       * 取得表的Key值列表
       * @param tabName
       * @return
       */
      public String getTableKey(String tabName) {    String s = null;
        if (tabName != null) {
          String s_compare = ",";
          try {
            DatabaseMetaData dm = conn.getMetaData();
            ResultSet rs = dm.getPrimaryKeys(null, "", tabName);        if (rs.next()) { //如果有记录
              s = "";
              do {
                s += rs.getString("COLUMN_NAME") + s_compare;
              }
              while (rs.next());
            }      }
          catch (SQLException e) {
            System.out.println("出现SQL异常");      }
          if (s != null) {
            s = s.substring(0, s.length() - s_compare.length());
          }
        }
        return s;
      }
    取得KEY值后.检查 你的列是否在KEY中存在.
      

  2.   

    2.Blob一般可以用数据库提供的类来读写,是用binarayStream
    3.DatabaseMetaData类
    ResultSet getPrimaryKeys(String catalog, String schema, String table) 
              Retrieves a description of the given table's primary key columns
      

  3.   

    1.不同的数据库产商不同的牛"庇"--实现的细节有很多差别。认了...:(2.mssql server数据库--驱动程序类BaseDatabaseMetaData提供getPrimaryKeys
    oracle数据库        --自带的demo包中的OracleDatabaseMetaData.java文件提供有getPrimaryKeys方法可能参考其它就不知道有没有了。
      

  4.   

    人家Oracle公司的jdbc驱动thin模式下没有实现blob中取大于4K数据的功能。那也没办法啊。不用扩展类的不行啊。
    楼主要是问为什么Oracle公司不实现,我也不知道。估计是效率的关系。