数据库不是自己有医治的功能吗?
也有写地三方软件可以实现
如果非要自己来
那可能就是select 出来在insert到另一个库表吧?

解决方案 »

  1.   

    能不能把库a传到另一台服务器后,然后用SQLServer的SQL命令把库a添加到SQLServer中呢(如同import功能)?
    学习!
      

  2.   

    非要用java?
    上面的方法是通用法!
      

  3.   

    如果是Oracle的话,有命令行的导入导出工具,
    SQL Server的话,有工具直接导出,所以最有效率的是先用工具。
      

  4.   

    在java中调用 sql的导出库a
    然后在导入到库b中!
      

  5.   

    這很容易.
      寫兩個method
      
      一個method是結果集取到存放在一個Vector中間.方法返回該Vector
      
      另外一個method傳入上一個method取得的Vector.並寫入數據庫.
      
      當然,這兩個method的DriverManager.getConnection(url,login,password)中傳入的url不同.如下:package test;import java.sql.*;
    import java.lang.*;
    import java.util.Vector;
    import com.inet.tds.*;public class databaseAccess
    {
        public static Vector getDataFromServer1(String URL,String login,String password)
        {
            Vector vReturn = null;
            try
            {
                DriverManager.setLogStream(System.out); // to create more info
                Class.forName("com.inet.tds.TdsDriver").newInstance();
        DriverManager.setLoginTimeout(10);     Connection connection = DriverManager.getConnection(URL,login,password);     Statement st = connection.createStatement();
        ResultSet rs = st.executeQuery("SELECT t1,t2 FROM table1");
                while (rs.next())
                {
                    Vector oneValue=new Vector();
                    oneValue.addElement(rs.getString(1));
                    oneValue.addElement(rs.getString(2));
                    if (vReturn == null)
                        vReturn = new Vector();
                    vReturn.addElement(oneValue);
                }
            }
            catch(Exception e)
            {
        e.printStackTrace();
            }
            finally
            {
                return vReturn;
            }
        }
        public static void saveDataToServer2(Vector vDetail,String URL,String login,String password)
        {
            try
            {
                DriverManager.setLogStream(System.out); // to create more info
                Class.forName("com.inet.tds.TdsDriver").newInstance();
        DriverManager.setLoginTimeout(10);     Connection connection = DriverManager.getConnection(URL,login,password);
                Statement st = connection.createStatement();
                int nItem=vDetail.size();
                String strInsert;
                for(int i=0;i<nItem;i++)
                {
                    Vector vItem = (Vector)vDetail.elementAt(i);
                    strInsert = "insert into table2(t1,t2) values('"+(String)vItem.elementAt(0)+"','"+(String)vItem.elementAt(1)+"')";
                    st.executeUpdate(strInsert);
                }
            }
            catch(Exception e)
            {
        e.printStackTrace();
            }
        }
    }
      

  6.   

    忘了關閉連接了. :P在getDataFromServer1方法的try語句塊的最後加上:
    rs.close();
                st.close();
                connection.close();
    在saveDataToServer2方法的try語句塊的最後加上:
    st.close();
                connection.close();
      

  7.   

    同意楼上! CanFly(我会飞) 的方法如果可行,也不错(不知效率如何?)
      

  8.   

    如果JDBC支持的话,用PreparedStatement加batch insert能提高点效率。
      

  9.   

    能不能在java中用数据库的存贮过程或者sql语句来实现备份与恢复呢?当然我对java不太熟,初学,但我用其它程序语言实现过!
      

  10.   

    在java中调用  sql的导出库a
      然后在导入到库b中!我同意这样的方法。并且我也这样做过!
      

  11.   

    建议利用DELPHI去做->
    1.程序开发效率高--一个BatchMove控件搞定
    2.代码运行速度快--Object Pascal
    3.很多的数据库驱动
      

  12.   

    go to www.jars.com to find some controls or jars for you job.
      

  13.   

    用SQL SERVER实现:
    (1)在SQL SERVER1中将SQL SERVER2添加为linked Server;
         在SQL SERVER2中将SQL SERVER1添加为linked Server;
    (2)Insert into Server1.YourDbName.dbo.tableName
         Select * from Server2.YourDbName.dbo.tableName
      

  14.   

    用SQL SERVER实现:
    (1)在SQL SERVER1企业管理器中将SQL SERVER2添加为linked Server;
         在SQL SERVER2企业管理器中将SQL SERVER1添加为linked Server;
    (2)Insert into Server1.YourDbName.dbo.tableName
         Select * from Server2.YourDbName.dbo.tableName