3

我需要使用 C# (VS 2005) 在 SQL Server 2000 中将多个表从一个数据库复制到另一个数据库。调用需要参数化——我需要能够传入我将要复制这些表的数据库的名称。

我可以将 DTS 与参数一起使用,但我找不到任何从 C# 执行此操作的示例代码。

或者,我可以只使用

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

然后重建索引等 - 但这真的很笨拙。

还有其他想法吗?

谢谢!

4

3 回答 3

3

对于 SQL Server 7.0 和 2000,我们为此提供了 SQLDMO。对于 SQL Server 2005,有 SMO。这允许您执行与管理数据库、脚本对象、枚举数据库等相关的几乎所有事情。IMO,这比尝试“自己动手”的方法要好。

SQL 2000: 开发 SQL-DMO 应用程序

转移对象

SQL 2005:这里是 SMO 主页: Microsoft SQL Server 管理对象 (SMO)

这是传输功能: 传输数据

如何:在 Visual Basic .NET 中将架构和数据从一个数据库传输到另一个数据库

于 2008-10-06T16:32:57.400 回答
1

如果每次都删除目标表,那么为什么不执行 SELECT INTO 呢?看起来一点也不像杂牌。

如果它工作得很好并且满足了所有的需求,为什么还要花费一天的时间来开发代码来做同样的事情呢?

让 SQL 为您完成所有繁重的工作。

于 2008-10-06T14:34:31.867 回答
1

你可以把在这里找到的脚本(复制数据库)

http://www.codeproject.com/KB/database/CreateDatabaseScript.aspx

进入应用程序。只需更换目的地。要实际移动整个数据库,请按照

http://support.microsoft.com/kb/314546

但请记住,必须首先使数据库脱机。

谢谢

于 2008-10-06T14:43:50.337 回答