[System.Data.SqlClient.SqlCredential]:确保加载了包含此类型的程序集

时间:2016-03-20 09:24:18

标签: sql-server powershell powershell-v2.0

我编写了一个PowerShell脚本,可以使用安全连接字符串连接到SQL Server。我在我的本地PC上测试了它,它完美无缺。但是一旦我在服务器上运行这个脚本,它就给了我以下错误:

  

找不到类型[System.Data.SqlClient.SqlCredential]:确保已加载包含此类型的程序集。

两台计算机(本地和服务器)都安装了.Net Framework 4.5。两者都连接到同一个SQL Server。两者都是PowerShell 2.0版。本地计算机是Window 7,而Server是Window Server 2008 R2。

在脚本中,我已经加载了Assembly。

[System.Reflection.Assembly]::Load("Microsoft.SqlServer.Smo,Version=11.0.0.0, Culture=Neutral,PublicKeyToken=89845dcd8080cc91") 
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.SqlEnum,Version=11.0.0.0, Culture=Neutral,PublicKeyToken=89845dcd8080cc91") 
[System.Reflection.Assembly]::Load("Microsoft.SqlServer.ConnectionInfo,Version=11.0.0.0, Culture=Neutral,PublicKeyToken=89845dcd8080cc91")

1 个答案:

答案 0 :(得分:0)

服务器是否与工作站具有相同的.Net版本?是.Net框架中包含的程序集,还是需要由管理包或其他安装程序安装。

您的代码不是本机PowerShell代码,您不能指望它在任何地方都可以使用。您似乎正在加载未安装在服务器上但安装在工作站上的库。