易截截图软件、单文件、免安装、纯绿色、仅160KB

JDBC存取ORACLE大型数据对象LOB几种情况的示范类

      import Java.io.*;
  import java.util.*;
  import java.sql.*;
  public class LobPros
  {
  /**
  * Oracle驱动程序
  */
  private static final String DRIVER = "oracle.jdbc.driver.OracleDriver";
  /**
  * ORACLE连接用URL
  */
  private static final String URL = "jdbc:oracle:thin:@test2000:1521:orac";
  /**
  * 用户名
  */
  private static final String USER = "user";
  /**
  * 密码
  */
  private static final String PASSWord = "pswd";
  /**
  * 数据库连接
  */
  private static Connection conn = null;
  /**
  * SQL语句对象
  */
  private static Statement stmt = null;
  /**
  * @roseuid 3EDA089E02BC
  */
  public LobPros()
  {
  }
  /**
  * 往数据库中插入一个新的CLOB对象
  *
  * @param infile - 数据文件
  * @throws java.lang.Exception
  * @roseuid 3EDA04A902BC
  */
  public static void clobInsert(String infile) throws Exception
  {
  /* 设定不自动提交 */
  boolean defaultCommit = conn.getAutoCommit();
  conn.setAutoCommit(false);
  try {
  /* 插入一个空的CLOB对象 */
  stmt.executeUpdate("INSERT INTO TEST_CLOB VALUES ('111', EMPTY_CLOB())");
  /* 查询此CLOB对象并锁定 */
  ResultSet rs = stmt.executeQuery("SELECT CLOBCOL from TEST_CLOB WHERE ID='111' FOR UPDATE");
  while (rs.next()) {
  /* 取出此CLOB对象 */
  oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("CLOBCOL");
  /* 向CLOB对象中写入数据 */
  BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
  BufferedReader in = new BufferedReader(new FileReader(infile));
  int c;
  while ((c=in.read())!=-1) {
  out.write(c);
  }
  in.close();
  out.close();
  }
  /* 正式提交 */
  conn.commit();
  } catch (Exception ex) {
  /* 出错回滚 */
  conn.rollback();
  throw ex;
  }
  /* 恢复原提交状态 */


相关文档:

解决Oracle 和Tomcat端口冲突(转载)


    方案一:
    新装了系统后,发现在调试程序时TOMCAT提示8080端口已被占用,于是运行NETSTAT -ANO查看端口使用情况,发现8080端口被ORACLE的监听器给占用了,于是结合上网查到方法,将ORACLE XDB的HTTP服务端口改成8081,问题解决。
 
    总结一下可解决的方 ......

只读权限oracle用户

-- Create the user
create user SMCQUERY
  identified by SMCQUERY;
-- Grant/Revoke role privileges
grant connect to SMCQUERY;
-- Grant/Revoke system privileges
grant select any table to SMCQUERY;
grant debug any procedure to SMCQUERY;
grant debug connect session to SMCQUERY;
grant cr ......

Oracle遇到的问题

配置信息应该都没有错,驱动也反复加载了,没有问题
运行Myeclipse编译可过,在网页测试时出现如下错误:
java.sql.SQLException: 调用中无效的参数
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError ......

Oracle左右全连接总结

--建立测试数据
create table a(id number);
create table b(id number);
insert into a values(1);
insert into a values(2);
insert into a values(3);
insert into b values(1);
insert into b values(2);
insert into b values(4);
commit;
--左:
--主流数据库通用的方法
select * from a left ......

ORACLE job使用方法

EXP/IMP注意:从全库逻辑备份按用户导入时,Oracle没有导入JOB,不知道这个是Oracle的bug,还是故意这样实现的。这个问题在导入的用户名和导出的用户名不同时出现,如果导入的用户名和导出的用户名一致,则不会出现这个问题。怀疑是Oracle调用DBMS_IJOB包时出现的问题。
总之,EXP/IMP的时候需要考虑JOB,并在操作结束后检 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号