public void convertAllTable(DataBase sourceDB, Connection oraConn,

Connection hsqlConn, SqlRecord record) throws Exception {

long time = System.currentTimeMillis();

// 建表并导入数据

System.out.println("创建表" + record.getTableName());

if (null == oraConn) {

throw new Exception("ORA--00942 table : " + record.getTableName()

+ " not exist.");

}

// String theSql = getCreateTableStmt(oraConn, record);

TableInfo tableInfo = getCreateTableSQL(sourceDB, oraConn, record);

System.out.println("get tableInfo");

insertTableInfo(tableInfo,hsqlConn);

System.out.println("save tableInfo");

String theSql = tableInfo.getHsqldbCreatTableSQL();

System.out.println("get table dll");

// System.out.println(user+" :: "+theSql);

Statement hsqlStmt = hsqlConn.createStatement();

// System.out.println(theSql);

hsqlStmt.execute(theSql);

System.out.println("table created");

long time2 = System.currentTimeMillis();

System.out.println("建表时间:"+(time2-time));

// hsqlStmt.close();

// // 添加主键

// String keySql = tableInfo.getHsqldbCreateKey();

// System.out.println(keySql);

// hsqlStmt.execute(keySql);

// hsqlStmt.close();

// 导入数据

convertData(oraConn, hsqlConn, record);

long time3 = System.currentTimeMillis();

System.out.println("导入数据时间:"+(time3-time2));

// break;

// 创建索引

convertIndex(oraConn, hsqlConn, record);

System.out.println("创建索引时间:"+(System.currentTimeMillis()-time3));

Constant.table_count++;

System.out.println("convert tables count:"+Constant.table_count);

}

private void insertTableInfo(TableInfo tableInfo, Connection conn) {

try {

Statement stm = conn.createStatement();

String tableName = tableInfo.getTablename();

List cols = tableInfo.getColumns();

String front_sql = "INSERT INTO CCARE.UBHAVE_TABLEINFO" +

"( TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, COLUMN_LENGTH," +

" COLUMN_NULLABLE, COLUMN_SCALE, COLUMN_PRECISION )" +

"VALUES ( '"+tableName+"', '";

// colname', 'coltype', collength,collnullable , colscale, colpreci)

for(Column col:cols){

String name =col.getColumn_name();

String type =col.getColumn_stype();

int length = col.getColumn_length();

int nullable = col.getColumn_nullable();

int scale = col.getColumn_data_scale();

int precis = col.getColumn_precision();

String sql = front_sql+name+"', '"+type+"', "+length+", "+nullable+", "+scale+", "+precis+")";

// System.out.println(sql);

stm.addBatch(sql);

}

stm.executeBatch();

stm.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

hsql转换oracle,Oracle To Hsql相关推荐

  1. 如何将DB2数据库转换成Oracle数据库,这一篇告诉你

    墨墨导读:众所周知,数据库升级.转换.迁移是数据库运维必备的日常技能,本文详细介绍一则将DB2数据库转换成Oracle数据库的案例,希望对大家有帮助. 1. 前言 记录一则使用sql develope ...

  2. Javamysql语法转化oracle_MyBatis项目实战 快速将MySQL转换成Oracle语句

    一.前言 因项目需求,小编要将项目从mysql迁移到oracle中 ~ 现在将完成 基于MyBatis-Plus将项目中的MySQL语句全部转换成Oracle语句 大概实现步骤: 将项目改成支持双库配 ...

  3. oracle -- Oracle初始化参数详解

    oracle -- Oracle初始化参数详解 Oracle数据库系统根据初始化参数文件init.ora中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数. Ora ...

  4. Oracle10表数据编辑器,Oracle ORACLE 快速批量导入文本数据到数据库(sqlldr工具)方法与分析 (Windows CMD 方式)...

    Oracle ORACLE 快速批量导入文本数据到数据库(sqlldr工具)方法与分析 (Windows CMD 方式) 在实际生产环境中,常会碰到将一些如通过通讯接口传过来的数据(文本文件 txt) ...

  5. 手动升级oracle,ORACLE 10.2.0.1手动升级到10.2.0.4

    ORACLE 10.2.0.1手动升级到10.2.0.4 1.解压zip包以及查看目录权限 p6810189_10204_Linux-x86-64.zip oracle@single-10g:/u01 ...

  6. linux双机热备 oracle,oracle for linux双机热备实战

    10.0.0.11是我主服务器的ip,10.0.0.111是我从服务器的ip, testdbase是数据库的sid号, 操作系统的版本是RedHat Linux 8.0 数据库版本是Oracle 9. ...

  7. 负载均衡设备oracle,Oracle RAC 服务器端联接负载均衡(Load Balance)

    Oracle RAC 服务器端连接负载均衡(Load Balance) Oracle RAC服务器端的负载均衡是根据RAC中各节点的连接负荷数情况,将新的连接请求分配到负荷最小的节点上去.当数据库处于 ...

  8. oracle里有limit怎么用,[ORACLE]ORACLE 实现mysql中的limit 功能

    [ORACLE]ORACLE 实现mysql中的limit 功能 项目从mysql迁移到ORACLE中遇到移植问题,mysql中支持limit 而ORACLE say no . 解决方法 利用ORAC ...

  9. oracle sql-1,Oracle – Oracle SQL(1)

    Oracle – Oracle SQL(1) 1. 简介 (1) SQL : Structured Query Language,结构化查询语言,专门用于数据存取.数据更新及数据库管理等操作. (2) ...

  10. ocr oracle,Oracle RAC备份和恢复OCR-Oracle

    Oracle RAC备份和恢复OCR Oracle RAC 备份和恢复OCR voting disks备份恢复参考: /database/201303/195593.html 1.OCR有两种备份方式 ...

最新文章

  1. mysql 乐观锁 命令_MySQL-乐观锁
  2. c语言编程取模运算ppt,c语言的取模运算
  3. 盘点:近两年人工智能和机器学习领域部分收购案
  4. UOJ #214 合唱队形 (概率期望计数、DP、Min-Max容斥)
  5. Python学习6——条件,循环语句
  6. 使用 Mesos 管理虚拟机
  7. 西安电子科技大学研究生计算机专业王宇平教授学生就业岗位,西安电子科技大学计算机学院导师信息情况...
  8. Ajax基石脚本异步并发调用参数传递
  9. leetcode 682. 棒球比赛(Baseball Game)
  10. wifipumpkin3 WiFi钓鱼工具
  11. 2019寒假专题一 L CodeForces - 1260B
  12. PPT幻灯片母版在制作时的应用
  13. macos android大小写,Git(MacOS)区分大小写覆盖问题
  14. 谷歌浏览器部分iframe页面无法打开,跨域问题
  15. ShuffleNetV2-Yolov5 更轻更快易于部署的yolov5
  16. UIWebView中添加活动指示器,来化解用户等待心理
  17. 服务器装win10 稳定吗,其实不必太过纠结 谈谈Mac装不装Win10
  18. CF1151F - Sonya and Informatics
  19. 使用Matlab提取ADC采样数据中的噪声
  20. 全球办公室之视频会议解决方案

热门文章

  1. C#解压zip和rar文件
  2. 统计素数并求和python_C语言实现的统计素数并求和代码分享
  3. 分享一个Xshell注册码
  4. C++ string类常用方法
  5. 计算机图形学实用教程苏小红,计算机图形学实用教程(第4版)
  6. 让cajviewer记住正在浏览的文献,下次启动时自动打开上次浏览的文献
  7. java多个点求连线_实现简单的粒子连线
  8. MDM主数据管理平台开发精要
  9. c语言经纬度和大地坐标转换,经纬度与我国54、80大地坐标转换的小工具
  10. ununtu18.0安装搜狗输入法