Импорт Powershell на SQL Server: ошибка предложения

#sql-server #powershell

#sql-сервер #powershell

Вопрос:

Я пытаюсь импортировать данные из API в таблицу SQL Server с помощью Powershell.

У меня есть переменная, такая как $staffName, и в 99% случаев она импортирует просто отлично, но если я получаю имя, такое как «О’Коннор», оно выдает ошибку с одинарными кавычками.

 foreach($s in $staffs) {
$InsertStaffResults = @"
INSERT INTO [dbo].[ImportStaffTable]([staffID],[staffName])
VALUES ('$staffId','$staffname')
"@
    [int]$staffId = $s.id
    $staffname = $s.lastName
    Invoke-sqlcmd @params -Query $InsertStaffResults 
}
 

Просто любопытно, как это обойти. Безуспешно пытался изменить кавычки и другие свойства идентификатора.

Ответ №1:

Чтобы избежать одиночных кавычек, вам нужно удвоить их.

Попробуйте

 $staffname = $s.lastName -replace "'", "''"