当前位置: 技术问答>java相关
java实现数据库数据移植问题?来者有分,有建议者分多,无建议者有参与分!
来源: 互联网 发布时间:2015-04-12
本文导语: 数据库为SQLSever,将库a中的数据移植到库b中,用java实现,库a与库b位于两台服务器上,各位有何建议? | 是移植?我看是备份数据库吧 这个我没做过,要是一定要做 我会取出a中一张张表的数据 插入到b...
数据库为SQLSever,将库a中的数据移植到库b中,用java实现,库a与库b位于两台服务器上,各位有何建议?
|
是移植?我看是备份数据库吧
这个我没做过,要是一定要做
我会取出a中一张张表的数据
插入到b中相同的表里面,效率
就别提了;(
这个我没做过,要是一定要做
我会取出a中一张张表的数据
插入到b中相同的表里面,效率
就别提了;(
|
同上。
|
数据库不是自己有医治的功能吗?
也有写地三方软件可以实现
如果非要自己来
那可能就是select 出来在insert到另一个库表吧?
也有写地三方软件可以实现
如果非要自己来
那可能就是select 出来在insert到另一个库表吧?
|
库b是否同是SQLSERVER?
|
为什么要用java实现?
|
能不能把库a传到另一台服务器后,然后用SQLServer的SQL命令把库a添加到SQLServer中呢(如同import功能)?
学习!
学习!
|
非要用java?
上面的方法是通用法!
上面的方法是通用法!
|
xml
|
如果是Oracle的话,有命令行的导入导出工具,
SQL Server的话,有工具直接导出,所以最有效率的是先用工具。
SQL Server的话,有工具直接导出,所以最有效率的是先用工具。
|
在java中调用 sql的导出库a
然后在导入到库b中!
然后在导入到库b中!
|
如果是我,只能一点点读数据,另一边写。
|
這很容易.
寫兩個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
1.程序开发效率高--一个BatchMove控件搞定
2.代码运行速度快--Object Pascal
3.很多的数据库驱动
寫兩個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
1.程序开发效率高--一个BatchMove控件搞定
2.代码运行速度快--Object Pascal
3.很多的数据库驱动
|
go to www.jars.com to find some controls or jars for you job.