我需要使用 C# (VS 2005) 在 SQL Server 2000 中将多个表从一个数据库复制到另一个数据库。调用需要参数化——我需要能够传入我将要复制这些表的数据库的名称。
我可以将 DTS 与参数一起使用,但我找不到任何从 C# 执行此操作的示例代码。
或者,我可以只使用
drop table TableName
select * into TableName from SourceDB..TableName
然后重建索引等 - 但这真的很笨拙。
还有其他想法吗?
谢谢!
我需要使用 C# (VS 2005) 在 SQL Server 2000 中将多个表从一个数据库复制到另一个数据库。调用需要参数化——我需要能够传入我将要复制这些表的数据库的名称。
我可以将 DTS 与参数一起使用,但我找不到任何从 C# 执行此操作的示例代码。
或者,我可以只使用
drop table TableName
select * into TableName from SourceDB..TableName
然后重建索引等 - 但这真的很笨拙。
还有其他想法吗?
谢谢!
对于 SQL Server 7.0 和 2000,我们为此提供了 SQLDMO。对于 SQL Server 2005,有 SMO。这允许您执行与管理数据库、脚本对象、枚举数据库等相关的几乎所有事情。IMO,这比尝试“自己动手”的方法要好。
SQL 2000: 开发 SQL-DMO 应用程序
SQL 2005:这里是 SMO 主页: Microsoft SQL Server 管理对象 (SMO)
这是传输功能: 传输数据
如果每次都删除目标表,那么为什么不执行 SELECT INTO 呢?看起来一点也不像杂牌。
如果它工作得很好并且满足了所有的需求,为什么还要花费一天的时间来开发代码来做同样的事情呢?
让 SQL 为您完成所有繁重的工作。
你可以把在这里找到的脚本(复制数据库)
http://www.codeproject.com/KB/database/CreateDatabaseScript.aspx
进入应用程序。只需更换目的地。要实际移动整个数据库,请按照
http://support.microsoft.com/kb/314546
但请记住,必须首先使数据库脱机。
谢谢