Ich schrieb ein PowerShell-Skript, das mithilfe einer sicheren Verbindungszeichenfolge eine Verbindung mit SQL Server herstellen kann. Ich habe das auf meinem lokalen PC getestet und es funktioniert perfekt. Aber sobald ich dieses Skript auf dem Server lief, gab es mir die folgende Fehlermeldung:[System.Data.SqlClient.SqlCredential]: Stellen Sie sicher, dass die Assembly mit diesem Typ geladen wird
Cannot find type [System.Data.SqlClient.SqlCredential]: make sure the assembly containing this type is loaded.
Beiden Maschinen (lokal und Server) haben .Net Framework 4.5 installiert. Beide verbinden sich mit demselben SQL Server. Beide sind PowerShell Version 2.0. Der lokale Computer ist Windows 7, während der Server Windows Server 2008 R2 ist.
In den Skripts habe ich Assembly geladen.
[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")
Die Klasse 'SqlCredential' befindet sich im Namespace' System.Data', nicht im Namespace 'Microsoft.SqlServer'. Ich sehe nicht, dass Sie diese Assembly laden ('[Reflection.Assembly] :: LoadWithPartialName ('System.Data')'). Außerdem, wie sollen wir dein Problem aus dem winzigen Ausschnitt reproduzieren, den du gepostet hast? Bitte machen Sie Ihren Beispielcode [minimal, vollständig und verifizierbar] (http://stackoverflow.com/help/mcve). –