我试图仅使用C#代码动态获取数据库表结构,如下所示:

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

public class LoadStuff
{
    ...
    public void LoadDatabase(string vDatabaseName)
    {
        using (var vSqlConnection = new SqlConnection(DatabaseConnectionString))
        {
            var vConnection = new ServerConnection(vSqlConnection);
            var vServer = new Server(vConnection);
            var vDatabase = vServer.Databases[vDatabaseName];
            var vTables = vDatabase.Tables;
        }
    }
}

但是,我也找不到.dll文件来添加参考。我正在使用Visual Studio 2010 Professional。有什么建议么?

有帮助吗?

解决方案

它位于C: Program Files Microsoft SQL Server XXX SDK 我的机器上的汇编中。其中XXX是SQL Server版本号(90或100)。不确定它是如何到达那里的。

其他提示

请右键单击您的解决方案,然后选择“添加参考”,然后选择以下DLL:

  • c: windows assembly gac_msil microsoft.sqlserver.smo
  • c: windows assembly gac_msil microsoft.sqlserver.connectioninfo
  • C: Windows assembly gac_msil Microsoft.sqlserver.management.sdk.sfc

在我的机器上,它位于 C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies. 。作为替代方案,您还可以从SQL Server下载独立安装 2008 或者 2008 R2 功能包。有单独的X86和X64安装软件包。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top