Может подключиться к SQL Server из SSMS с другого компьютера, но не может подключиться к SQL Server в сети из powershell - PullRequest
0 голосов
/ 09 ноября 2018

я пытаюсь подключиться к серверу sql из powershell и получаю эту ошибку

Исключение, вызывающее "Open" с аргументом (ами) "0": "Целевой субъект имя неверно. Невозможно создать контекст SSPI. "В C: \ Users \ Musawwir \ Downloads \ удаленный доступ к базе данных db.ps1: 10: 1 + $ Connection.Open () + ~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: ([], исключение MethodInvocationException + FullyQualifiedErrorId: исключение SqlException, вызывающее «Fill» с аргументом «1»:

Я могу подключиться к SQL SERVER с других машин через SSMS, но не могу подключиться через powershell, также скрипт отлично работает на локальной машине.

Вот код, который я использую:

[string] $Server= "tcp:DESKTOP-J9UQ90E,1433"
[string] $Database = "Eshop"


[string] $SQLQuery= "[dbo].[usp_getCustomerAge]"


$Connection = New-Object System.Data.SQLClient.SQLConnection
$Connection.ConnectionString = "server='$Server';database='$Database';Connection Timeout=300;Integrated Security=TRUE;UID=ali;PWD=1234"
$Connection.Open()
$Command = New-Object System.Data.SQLClient.SQLCommand
$Command.Connection = $Connection
$Command.CommandText = $SQLQuery
$Command.CommandTimeout=500

$adp = New-Object System.Data.SqlClient.SqlDataAdapter $Command
$data = New-Object System.Data.DataSet 
$adp.Fill($data) | Out-Null


$data2 = ''
$emp = ''

foreach($Row in $data.Tables.Rows){
 [string]$C_name = $Row[0]

  $C_name
  $data2= $data2+ "|"+$C_name
  $C_name = $C_name+"|"
$C_name | out-file "d:\\test4.txt" -Append


}
$Connection.Close()

#$data2 | out-file "d:\\test4.txt"

1 Ответ

0 голосов
/ 29 апреля 2019

У пользователя ali не было доступа к хранимой процедуре .. изменил пользователя с ali на sa и встроенная защита на false решила проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...