该程序功能为:数据库与excel导入导出及不同数据库之间导入导出。经过测试,完全能运行。表结构由oratomysqlcn.exe(第三方软件)导入。
oracle中的表导入到mysql中,分两中方法:
A、直接连接两数据库,将每行数据生成insert tablename xx (col_1,col_2...) values (val_1,val_2...)的形式,一行一行地导入到mysql中;
B、将oracle中的表导入到excel,再将excel导入到mysql。
以上两种方法,都能运行,但第一种方法较好。第二种方法,如果数据量特别大,将造成内存溢出,需要分批次导数据,比较麻烦,但该程序实现了分批次导数据的功能。
其他不同类型的数据库导入导出,通过修改ExcelConstant中的参数,一样可以成功。如果能给你帮助,将是我最大的欣慰!
(1)、ExcelMigrationDatabase.java为测试类,测试方法为:
1、testDatabaseToExcel() 数据库中的单张表导出到 excel中, 表名ExcelConstant.java类中设置;
2、testDelTablenameData() 删除MYSQL中的表,表名为ExcelConstant.java tableName设置的值,例如:h_dwxx;
3、testQueryTableName 查询mysql中的单一表表名ExcelConstant.java 中的tableName的数据
4、testExcelToDb 将上面”1”中生成的excel表的数据,导入到mysql中
(2)、ExcelConstant.java 为初始化数据
1、源数据库连接参数
2、目标数据库连接参数
3、每次取出多少条数据
4、 第几次取数,假如数据位10000条,每次取5000条,得分2次取数
5、excel是否需要标题行
6、 tableName 表名,oracle导出的表名,如"h_dwxx",mysql中要导入的表名
7、 excelPathName excel文件
8、 sheetName excel工作薄中第一张sheet(表)的名字
(3)、 testDelTablenameData()
删除MYSQL中的表,表名ExcelConstant.tableName
(4)、testQueryTableName
查询mysql中的单一表表名ExcelConstant.tableName
(5)、testExcelToDb
excel中的数据导入到database
(6)testOracleToMysql()
将oracle数据库中的表导到mysql,通过jdbc连接oracle和mysql ,将每行数据生成insert tablename xx (col_1,col_2...) values (val_1,val_2...)的形式,一行一行地导入到mysql中.
注意:在运行时,要导入jxl.jar,mysql及mysql的jar包,junit测试类。
作者:石珺涵
地址:湖北红安县
日期:2009年11月26日