Как удалить специальный символ в файле SQL - PullRequest
0 голосов
/ 23 января 2019

Я столкнулся с очень большой проблемой, пожалуйста, помогите мне.У меня есть файл «FileName.sql» в этом файле, когда я пытаюсь выполнить развертывание на сервере с помощью скрипта Powershell (это инструмент развертывания нашей компании), в нем всегда говорится, что внутри файла есть специальный символ, следовательно, развертывание становится неудачным,он никогда не говорит, в какой строке есть специальный читер, не могли бы вы мне помочь, как определить специальный символ в файле SQL.Когда я выполняю этот файл FileName.sql вручную в студии управления SQL-сервером без ошибок, он будет выполняться, но через сценарий Powershall я не смогу его развернуть, поэтому, пожалуйста, помогите мне, как определить специальный символ в моем файле sql.

выберите * из TableName

Ответы [ 2 ]

0 голосов
/ 23 января 2019

открыть файл с помощью блокнота ++. найдите символ и сохраните / закодируйте как ascii / utf8. возможно, кто-то отредактировал файл в Word, и у вас есть специальные / необычные кавычки или дефис.

Понятия не имею, если это поможет, но это может ...

Найти-FancyCharacters.ps1

[CmdletBinding()]
param (
    [string[]] 
    $Files
)

$badCharacters = @"
‘
’
–
"@

$badCharactersList = $badCharacters -split "`r`n"

if (-not $Files)
{
    $Files = @('D:\test\badchars.txt')
}

foreach ($file in $Files)
{
    Write-Progress -Activity "Checking file: $file..."
    $contents = Get-Content $file -Encoding UTF8
    $lineNumber = 1
    foreach ($line in $contents)
    {
        foreach ($invalidChar in $badCharactersList)
        {
            if ($line -match $invalidChar)
            {
                Write-Output "Invalid Character found: f=$file, l=$lineNumber, c=$invalidChar"
                break
            }
        }

        $lineNumber++
    }
}
0 голосов
/ 23 января 2019

выберите REPLACE (REPLACE (LTRIM (RTRIM ([ColumnName])), CHAR (1), ''), CHAR (9), '')) [NewColumnName] из TableName

Я использовал функцию REPLACE () для удаления специальных символов: - LTRIM () & RTRIM () - символ табуляции или символ пробела CHAR (1) и CHAR (9) - управляющие символы ASCII

Если вы собираетесь использовать это в нескольких столбцах. Вы можете создать функцию. Дайте мне знать, если вам нужна помощь в создании функции. Спасибо

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