Compartilhar via


Codificar e decodificar identificadores do SQL Server

Os identificadores delimitados do SQL Server às vezes contêm caracteres sem suporte em caminhos do Windows PowerShell. Esses caracteres podem ser especificados codificando seus valores hexadecimais.

  1. Antes de começar: Limitações e Restrições

  2. Para processar caracteres especiais: Codificando um Identificador, Decodificando um Identificador

Antes de começar

Os caracteres não suportados em nomes de caminho do Windows PowerShell podem ser representados, ou codificados, como o caractere "%" seguido pelo valor hexadecimal do padrão de bits que representa o caractere, como em "**%**xx". A codificação sempre pode ser usada para manipular caracteres não suportados em caminhos do Windows PowerShell.

O cmdlet Encode-SqlName usa um identificador do SQL Server como entrada. Ele produz uma cadeia de caracteres com todos os caracteres não suportados pela linguagem Windows PowerShell codificada com "%xx". O cmdlet Decode-SqlName usa um identificador codificado do SQL Server como entrada e retorna o identificador original.

Limitações e restrições

Os cmdlets Encode-Sqlname e Decode-Sqlname só codificam ou decodificam os caracteres que são permitidos nos identificadores delimitados SQL Server, mas não tem suporte em caminhos do PowerShell. Estes são os caracteres codificados pelo Encode-SqlName e decodificados pelo Decode-SqlName:

Caractere

\

/

:

%

<

>

*

?

[

]

|

Codificação hexadecimal

%5C

%2F

%3A

%25

%3C

%3E

%2A

%3F

%5B

%5D

%7C

[Início]

Codificando um identificador

Para codificar um identificadores do SQL Server em um caminho PowerShell

  • Use um destes dois métodos para codificar um identificador do SQL Server:

    • Especifique o código hexadecimal para o caractere sem suporte que usa a sintaxe %XX, onde XX é o código hexadecimal.

    • Passe o identificador como uma cadeia de caracteres entre aspas para o cmdlet Encode-Sqlname

Exemplos (codificação)

Este exemplo especifica a versão codificada do caractere ":" (%3A):

Set-Location Table%3ATest

Outra alternativa é usar Encode-SqlName para criar um nome com suporte do Windows PowerShell:

Set-Location (Encode-SqlName "Table:Test")

[Início]

Decodificando um identificador

Para decodificar um identificador do SQL Server de um caminho do PowerShell

Use o cmdlet Decode-Sqlname para substituir as codificações hexadecimais pelos caracteres representados pela codificação.

Exemplos (decodificação)

Este exemplo retorna “Table:Test”:

Decode-SqlName "Table%3ATest"

[Início]

Consulte também

Conceitos

Identificadores do SQL Server no PowerShell

Provedor do SQL Server PowerShell

SQL Server PowerShell