【发布时间】:2009-05-06 07:22:45
【问题描述】:
我有两个数据库,DB1 和 DB2。如何传输 DB1 的数据 SQL Server 2000 中 DB2 的特定表?
【问题讨论】:
标签: .net sql-server
我有两个数据库,DB1 和 DB2。如何传输 DB1 的数据 SQL Server 2000 中 DB2 的特定表?
【问题讨论】:
标签: .net sql-server
【讨论】:
如果您需要通过代码(.NET 标记)执行此操作,那么 SqlBulkCopy 是您的朋友 - 理想情况下与源代码上的 ExecuteReader 混合使用。 Like so:
using (SqlConnection connSource = new SqlConnection(csSource)) // source db
using (SqlCommand cmd = connSource.CreateCommand())
using (SqlBulkCopy bcp = new SqlBulkCopy(csDest)) { // destination db
bcp.DestinationTableName = "SomeTable"; // destination table
cmd.CommandText = "SELECT * FROM [Foo]"; // source table
cmd.CommandType = CommandType.Text;
connSource.Open();
using(SqlDataReader reader = cmd.ExecuteReader()) {
bcp.WriteToServer(reader);
}
}
【讨论】:
右键单击 DB2 和 Tasks-> Import 将启动 DTS 向导。这很简单。
【讨论】:
有关此转移的一些其他上下文将很有用。例如,这是一次性传输、常规传输、您希望为 DB1 中的每个事务维护的内容还是其他内容。
我会假设这是一次性或周期性发生的,因此,我建议 SQL Server 2000 中的数据转换服务 (DTS):
【讨论】: