用C#写的一个程序集, 其中有引用WMI来获取CPU ID, 无法作为程序集添加到SQL SERVER中. 详细如下:
/// <summary>
/// CPU SN
/// </summary>
/// <returns></returns>
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString CPUSN()
{
try
{
string strCPUSN = null;
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
strCPUSN = mo.Properties["ProcessorId"].Value.ToString();
}
return new SqlString(strCPUSN);
}
catch
{
return null;
}
}
附出错提示信息:
标题: Microsoft SQL Server Management Studio
------------------------------
创建 对于 SqlAssembly“xxx.Information”失败。 (Microsoft.SqlServer.Smo)
------------------------------
其他信息:
执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)
------------------------------
在 SQL 目录中找不到程序集 'system.management, version=2.0.0.0, culture=neutral, publickeytoken=b03f5f7f11d50a3a.'。 (Microsoft SQL Server,错误: 6503)
而添加对System.management程序集引用时, 又会出现缺少另一个程序集的错误...