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.
Antes de começar: Limitações e Restrições
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