资源简介

采用jdbc连接数据库,将两种不同类型的数据(SqlServer、Oracle)进行转换,来完成数据库数据的迁移。 实现方式,查询SqlServer数据,批处理插入到Oracle中。

资源截图

代码片段和文件信息

package com.cdel.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetmetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class HandExpData {
public static String table = ““;

// sqlserver
public static String sqlserverDriver = “com.microsoft.sqlserver.jdbc.SQLServerDriver“;
public static String url = “jdbc:sqlserver://192.168.181.3:1433;databaseName=g12e“;
public static String username = “sa“;
public static String password = “cailiqiang“;

// oracle
public static String oracleDriver = “oracle.jdbc.driver.OracleDriver“;
public static String oracleurl = “jdbc:oracle:thin:@192.168.190.245:1521:cdel“;
public static String ousername = “dbog12e“;
public static String opassword = “g12e123456“;

public static Connection con = null;
public static PreparedStatement sm = null;
public static ResultSet rs = null;

public static Connection oraclecon = null;
public static PreparedStatement oraclesm = null;

public void getConnection() {
try {
  Class.forName(oracleDriver);
  oraclecon = DriverManager.getConnection(oracleurlousernameopassword);
} catch (Exception e) {
}
}

/**
 * param:table name
 * @param args
 */
public static void main(String[] args) {
//修改
table = “FEE_USER_ACCOUNT“;
String key = “ACCUNTID“;

long beginTime = System.currentTimeMillis();
System.out.println(table + “。。。。。。。。。。导入开始。。。。。。。。。。。。“);
converttableDate(tablekey);
System.out.println(table + “。。。。。。。。。。导入结束。。。。。。。。。。。。“);
long endTime = System.currentTimeMillis();
    System.out.println(table + “。。。。。。。。。。导数据用时。。。。。。。。。。。。“ + (endTime - beginTime)/1000 + “秒“);
}

@SuppressWarnings(“unused“)
public static void converttableDate(String tableString key) {
  int auto = 1;
   try {
    //查询sql
    String sqlCount = “select count(*) count from “ + table;
    
    Class.forName(sqlserverDriver);
Connection  conCount = DriverManager.getConnection(url username password);
Statement smCount = conCount.createStatement();
ResultSet rsCount = smCount.executeQuery(sqlCount);
int rowCount = 0;
while(rsCount.next()){
rowCount = rsCount.getInt(1);
}

//设置分页

int tableRowCount = rowCount;
int pageSize = 100;
int maxPage = (tableRowCount % pageSize) == 0 ? tableRowCount/pageSize:(tableRowCount/pageSize)+1;

System.out.println(“maxPage = “ + maxPage);

for(int currentPage = 1 ; currentPage < maxPage + 1 ; currentPage++ ){
int beginRow = (currentPage - 1) * pageSize + 1;
int endRow = currentPage * pageSize;


//查询sql
    String sqlTable = “select * from (select a.* row_number() over(order by “ + key + “ asc) as pageNum from “ + table 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6266  2011-09-27 13:38  exp\HandExpData.java

     文件    1569169  2011-09-22 09:17  exp\ojdbc14.jar

     文件     583286  2011-09-26 10:48  exp\sqljdbc.jar

     目录          0  2011-09-27 11:29  exp

----------- ---------  ---------- -----  ----

              2158721                    4


评论

共有 条评论