写一个java转换程序读表t_cms_user的数据,并且导入PostgreSQL数据库。t_cms_user是oracle数据库中的表。
用JDBC来操作的。我对数据库操作不熟,谁能给个思路啊?最好能详细点。

解决方案 »

  1.   

    给你一个最简单的思路先载入oracle数据库驱动,连接数据库并查询表的全部数据 直接生成INSERT语句
    1:将语句放在List中(行数有限)
    2:写到文件中关闭连接载入PostgreSQL数据库驱动连接,直接调用刚才生成的语句(List循环或者读文件)
      

  2.   

    这个也许给你有帮助:
    /*********************************
     *Create proc demo_proc 
       @inparam1 int ,
       @inparam2 varchar(20),
       @inparam3 varchar(20),
       @inparam4 varchar(50)
       AS
        insert into test values(@inparam1,@inparam2,@inparam3,@inparam4)
     *存储过程
     *表
     * create table test(
     *  [id] int,
     *  [name] varchar(20),
     *  age varchar(20),
     *  address varchar(50)
     *  )
     *
     **********************************/
    import java.sql.*;
    /**
     *author:East(张栋芳)
     *date:2008-6-16
     */
    public class StoreTest{
    private static Connection con=null;
    static String  url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=pubs";
    public Connection getConn(){
    System.out.println("aaaaaaaaaaaa");
    try{
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      con=DriverManager.getConnection(url,"sa","");
    }catch(ClassNotFoundException e){
    e.printStackTrace();
    }catch(SQLException se){
    se.printStackTrace();
    }
    return con;
    }
    public void doStore() throws Exception{
    String strSQL="{call demo_proc(?,?,?,?)}";
    CallableStatement sqlStmt = getConn().prepareCall(strSQL);
    sqlStmt.setInt(1,1);
    sqlStmt.setString(2,"张栋芳");
    sqlStmt.setString(3,"20");
    sqlStmt.setString(4,"湖南永州");
    int i=sqlStmt.executeUpdate();
    System.out.println ("bbbbbbbbbbb");
    }

    public static void main(String [] args)throws Exception{
    StoreTest test = new StoreTest();
    test.doStore(); 
    }
    }
      

  3.   

    思路是挺简单的,但是两个数据库之间的数据类型转换挺不好搞的(特别是我都没用过这两个数据库),后来又让我们做oracle数据库与PostgreSQL数据库相互转化的java程序,对于我这种菜鸟更不好搞了,花了3,4天做出来了个勉强可以的程序。
    今天才想起来结贴,不好意思了。