通过c#代码复制数据库对象

时间:2009-12-03 10:04:21

标签: c# sql-server-2005 c#-3.0

我需要通过c#.net代码创建数据库对象(表,索引,键,视图,函数等)。用户指定要复制的数据库对象的名称以及为复制的对象指定的新名称。

假设用户选择现有表TableA和新名称TableB,我的代码应创建具有与TableA相同结构(列等)的TableB。

我对实际的创作部分没问题。我需要有关如何获取TableA元数据(结构)的提示。

哪种方法达到同样的效果?

非常感谢:)

3 个答案:

答案 0 :(得分:2)

查看SQL管理对象(SMO),它是由microsoft开发的一个库,用于通过托管代码在SQL Server数据库上执行管理任务。它包括脚本数据库及其中的对象的代码,这些代码应满足您的大部分应用程序需求

答案 1 :(得分:1)

查看名为SMO(SQL Server管理对象)的库:http://msdn.microsoft.com/en-us/library/ms162169.aspx

答案 2 :(得分:1)

您可以从INFORMATION_SCHEMA架构中获取此信息。

例如:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'TableA'

将为您提供所有列。有关教程,请参阅here