问题
I'm trying to dynamically get a databases Table structure using only C# code as follows:
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;
}
}
}
However, I cannot find the .dll file to add a reference too. I'm using Visual Studio 2010 Professional. Any suggestions?
回答1:
It is located in c:\program files\microsoft sql server\xxx\sdk\assemblies on my machine. Where xxx is the SQL Server version number (90 or 100). Not sure how it got there.
回答2:
Please right click your solution and select 'Add reference' and then select the following dlls:
- 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
回答3:
On my machine it is located at C:\Program Files (x86)\Microsoft SQL Server\100\SDK\Assemblies
. As an alternative, you can also download the standalone installation from the SQL Server 2008 or 2008 R2 feature packs. There are individual x86 and x64 installation packages available.
来源:https://stackoverflow.com/questions/3556379/cant-find-microsoft-sqlserver-connectioninfo-dll-assembly-file