2008-10-06 51 views
3

我需要使用C#(VS 2005)在SQL Server 2000中将多个表从一个数据库复制到另一个数据库。该调用需要参数化 - 我需要能够传入数据库的名称,我将复制这些表。如何以编程方式使用C#复制MS SQL 2000数据库?

我可以使用DTS的参数,但我找不到任何示例代码,从C#做到这一点。

或者,我可以只使用

drop table TableName 
select * into TableName from SourceDB..TableName 

,然后重建索引,等等 - 但是这是真的缺憾。

还有其他想法吗?

谢谢!

+0

当您说您找不到DTS的c#示例代码时,是指执行DTS包的示例代码,还是示例代码来复制DTS包中的表? – kristian 2008-10-06 15:57:27

回答

3

对于SQL Server 7.0和2000,我们有SQLDMO。对于SQL Server 2005,有SMO。这使您几乎可以做与管理数据库,编写脚本对象,枚举数据库等相关的所有内容。比起尝试“滚动你自己的”方法,IMO更好。

SQL 2000: Developing SQL-DMO Applications

Transfer Object

SQL 2005: 这里是SMO主页: Microsoft SQL Server Management Objects (SMO)

这里是传输功能: Transferring Data

How to: Transfer Schema and Data from One Database to Another in Visual Basic .NET

1

如果目标表每次都被删除,那么为什么不做SELECT INTO?似乎根本不是一个混杂。

如果它工作的很好,并勾选了所有的要求框,为什么要创造一个工作日,让代码做同样的事情呢?

让SQL为你做所有的繁重工作。

+0

它可以变得棘手与FK依赖和类似的东西。我并不是说它不会奏效,它让我觉得很不雅。 – 2008-10-06 14:37:35

相关问题