`

JAVA自动操作0racle数据库转mysql数据库

    博客分类:
  • JAVA
阅读更多

1.要注意数据编码,在建表时就应该设置好默认编码,我这里是UTF-8;

 

CREATE TABLE `CODE_ZYB` (
  `uid` int(64) NOT NULL AUTO_INCREMENT,
  `XSH` varchar(5) DEFAULT NULL,
  `ZYH` varchar(8) DEFAULT NULL,
  `XKMLH` varchar(2) DEFAULT NULL,
  `ZYM` varchar(40) DEFAULT NULL,
  `YWZYM` varchar(80) DEFAULT NULL,
  `BZ` varchar(255) DEFAULT NULL,
  `XJZYH` varchar(8) DEFAULT NULL,
  `XJZYM` varchar(40) DEFAULT NULL,
  PRIMARY KEY (`uid`)
) engine=myisam default charset=utf8;

 注意(如果是GBK就把下面的utf8改为gbk):

 

 

engine=myisam default charset=utf8;

 下面是java的代码:

package jw;
import java.io.UnsupportedEncodingException;
import java.sql.*;


public class Jw1 {

 
    public static void main(String[] args) throws UnsupportedEncodingException {
        // TODO code application logic here
         String url = "jdbc:oracle:thin:@host:1521:test";     //test为自己数据库的名字,1521为端口
   String username = "name";
   String password = "password";
  
   String driver = "oracle.jdbc.driver.OracleDriver";

   try {
    Class.forName(driver);           //加载驱动

    Connection conn = DriverManager.getConnection(url, username,
      password);                         //连接数据库

    PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM JW.CODE_ZYB"); // 预处理命令,比Statement 好一些
    ResultSet rs = pstmt.executeQuery();
    Connection con = DriverManager
		.getConnection("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8"
                                ,"user", "pass"); //mysql数据库连接并且设置为UTF8默认连接;
     PreparedStatement sta = con.prepareStatement("set names utf8");                //连接后转为UTF8编码
                 sta.executeQuery();                                                //执行sql;
   PreparedStatement st = con.prepareStatement("TRUNCATE TABLE CODE_ZYB");                //执行重复插入数据
          st.executeUpdate();                                                //插入,删除,增加使用executeupdate;
     
                
        
    while(rs.next())
    {
        //System.out.println(rs.getString(1));
         String sql = "INSERT INTO CODE_ZYB(`XSH`,`ZYH`,`XKMLH`"
                 + ",`ZYM`,`YWZYM`,`BZ`,`XJZYH`,`XJZYM`)"
                  + "VALUES (?,?,?,?,?,?,?,?)";
        sta = con.prepareStatement(sql); 
      
        for(int i=1;i<9;i++){
         
          String s = rs.getString(i);
          if (s == null || s.isEmpty() )   //处理oracle过来的为空的数据
              s = "";
          else
              s = new String(s.getBytes("UTF-8"), "UTF-8"); //数据编码转换
   
          System.out.println(s+","+i);
         
          
         
         sta.setString(i,s); //占位符处理;
        
        }
        sta.execute();
         sta.close();  //关闭sql
        
        
    }
    pstmt.close();                   //Oracle sql查询关闭
    conn.close();                    //Oracle 连接关闭
    con.close();                     //Mysql 连接关闭       

   } catch (ClassNotFoundException e) {
   } catch (SQLException e) {
       System.out.print(e.getMessage());
   }
   
   
   System.out.println("-------- MySQL JDBC Connection Testing ------------");
 
	try {
		Class.forName("com.mysql.jdbc.Driver");
	} catch (ClassNotFoundException e) {
		System.out.println("Where is your MySQL JDBC Driver?");
		return;
	}
 
	System.out.println("MySQL JDBC Driver Registered!");
	Connection connection = null;
 
	try {
		connection = DriverManager
		.getConnection("jdbc:mysql://localhost:3306/test","user", "pass");
                connection.close();
 
	} catch (SQLException e) {
		System.out.println("Connection Failed! Check output console");
		return;
	}
 
	if (connection != null) {
		System.out.println("You made it, take control your database now!");
	} else {
		System.out.println("Failed to make connection!");
	}
   
    }
}

 

 

 

分享到:
评论

相关推荐

    0racle数据库管理精华

    3. **SQL与PL/SQL**:SQL是用于查询和操作数据库的标准语言,而PL/SQL是Oracle特有的过程式语言,允许编写复杂的存储过程、函数和触发器,提高了数据库的灵活性和效率。 4. **性能优化**:Oracle的性能优化主要通过...

    0racle数据库应用管理解决方案

    0racle数据库应用管理解决方案

    0racle数据库的调查取证方法研究.pdf

    0racle数据库的调查取证方法研究.pdf

    0racle数据库应用管理解决方案.part2

    0racle数据库应用管理解决方案 很详细的阐述了有关的方案 前一个是part1

    JEECG切换数据库方法

    JEECG(Java EE Code Generation platform)作为一个领先的代码生成平台,提供了方便快捷的数据库切换方法。在进行JEECG切换数据库时,支持多种主流数据库系统,例如ORACLE、MySQL和Microsoft SQL Server等。下面将...

    java && 0racle 资料

    Java 是一种广泛使用的编程语言,而 Oracle 则是全球领先的数据库管理系统。这两个技术的结合在企业级应用开发中扮演着关键角色,尤其是在构建分布式、高可用性的系统时。 Java,作为一门面向对象的语言,以其“一...

    基于O racle数据库的数字矿山管理信息系统*

    1. **数据库操作**:提供用于连接和操作数据库的封装类,实现数据的高效管理。 2. **数据录入/编辑**:支持空间数据和属性数据的录入、浏览、查询和编辑等功能。 3. **数据检查**:实施数据完整性的检查机制,确保...

    Oracle SQL开发基础

    简要介绍0racle数据库:1)0racle数据库及体系结构介绍2)0racle数据库常用概念,对象,安全机制3)安装0racle软件和创建数据库4)数据库实例的启动和停止5)0racle的网络连接基本管理6)0racle数据库基本概念

    oracle数据库自动备份脚本

    racle数据库自动备份脚本

    0racle-高级进阶:三思一步一步学RMAN

    标题《0racle-高级进阶:三思一步一步学RMAN》和描述《大神三思力作,一步一步学RMAN,对于Oracle11g等一些版本都有介绍,很好的教程,帮助企业正确做到容灾备份》表明本文将深入探讨使用Oracle的RMAN(Recovery ...

    ORACLE 数据库入门

    Oracle数据库是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。对于初学者来说,理解Oracle数据库的基本...掌握Oracle数据库的基本操作和原理,是成为一名合格的数据库管理员或开发者的第一步。

    0racle 实验一安装与配置

    【Oracle 实验一安装与配置】的实验主要涵盖了Oracle 11g数据库的安装、网络配置和使用Database ...在实际操作中,需注意服务器和客户端的网络配置一致性,以确保数据库服务的正常运行和客户端的顺利连接。

    0racle11g安装

    - 编辑网卡配置文件`/etc/sysconfig/network-scripts/ifcfg-eth0`,确保`ONBOOT=yes`和`NM_CONTROLLED=yes`,以便于开机时自动启动网卡并避免NetworkManager管理此接口。 2. **用户组与用户的创建**: - 创建必要...

    racle9i数据库系统结构与产品组成讲义.pptx

    racle9i数据库系统结构与产品组成讲义.pptx

Global site tag (gtag.js) - Google Analytics