У меня есть некоторые проблемы с классом System.Data.SqlClient.SqlCredential. Я пытаюсь создать объект в PowerShell с помощью этогоSystem.Data.SqlClient.SqlCredential issue
cls;
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Data");
$creds = New-Object System.Data.SqlClient.SqlCredential;
Но я получаю сообщение об ошибке
New-Object : Конструктор не найден. Не удается найти соответствующий конструкто
р для типа System.Data.SqlClient.SqlCredential.
строка:3 знак:10
+ $creds = New-Object System.Data.SqlClient.SqlCredential;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:) [New-Object], PSArgumentExce
ption
+ FullyQualifiedErrorId : CannotFindAppropriateCtor,Microsoft.PowerShell.C
ommands.NewObjectCommand
Перевод этого сообщения об ошибке выглядит следующим образом:
Конструктор не может быть найденным. Невозможно найти подходящий конструктор для типа.
Я прочитал технику и узнал, что класс System.Data.SqlClient.SqlCredential содержится в System.Data (System.Data.dll).
Но я попытался загрузить эту сборку, как вы видите из предыдущего примера. Я использую Windows 7, PowerShell 4.0. У меня установлен .NET Framework 4.6.1. Я буду очень признателен за любую помощь.
Я пытался использовать кончик GodEater предложил мне, но все же получить сообщение об ошибке
cls;
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Data");
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection;
$SqlConnection.ConnectionString = "Server=192.168.1.220,1433;Database=Archimed;";
$creds = New-Object System.Data.SqlClient.SqlCredential`
((Read-Host -AsSecureString), (Read-Host -AsSecureString));
$SqlConnection.Credential = $creds;
$SqlConnection.Open();
$SqlConnection.Close();
Сообщение об ошибке, как это
New-Object : Не удается найти тип [System.Data.SqlClient.SqlCredential]: убедит
есь в том, что сборка, содержащая этот тип, загружена.
строка:7 знак:10
+ $creds = New-Object System.Data.SqlClient.SqlCredential`
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentExcepti
on
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewOb
jectCommand
System.Security.SecureString
System.Security.SecureString
Исключение при вызове "Open" с "0" аргументами: "Ошибка входа пользователя ""."
строка:11 знак:1
+ $SqlConnection.Open();
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : SqlException
Переводы выглядит следующим образом:
Невозможно найти тип [System.Data.SqlClient.SqlCredential]: убедитесь, что сборка, которая содержит этот тип, загружена
Исключение при вызове «Открыть» из аргумента «0»: «Ошибка входа для пользователя». »
Я использовал sa и 1 для пользователя и прошел.
Конструктор не берет защищенные строки, он принимает открытый текст. – GodEater
Кроме того, ваша вторая попытка потерпела неудачу, потому что вы не загрузили сборку во второй раз. – GodEater