Codificar y descodificar identificadores de SQL Server
Los identificadores delimitados de SQL Server a veces contienen caracteres no admitidos en las rutas de acceso de Windows PowerShell. Estos caracteres se pueden especificar codificando sus valores hexadecimales.
Antes de empezar: Limitaciones y restricciones
Para procesar los caracteres especiales: Codificar un identificador, Descodificar un identificador
Antes de empezar
Los caracteres que no se permiten en los nombres de ruta de Windows PowerShell se pueden representar, o codificar, como el carácter "%" seguido del valor hexadecimal del modelo de bits que representa el carácter, como en "**%**xx". La codificación siempre se puede usar para controlar los caracteres que no se admiten en las rutas de Windows PowerShell.
El cmdlet Encode-SqlName toma como entrada un identificador de SQL Server. Genera una cadena con todos los caracteres que no son admitidos por el lenguaje de Windows PowerShell codificados con "%xx". El cmdlet Decode-SqlName toma como entrada un identificador de SQL Server codificado y devuelve el identificador original.
Limitaciones y restricciones
Los cmdlets de Encode-Sqlname y de Decode-Sqlname solo codifican o descodifican caracteres que se permiten en los identificadores delimitados de SQL Server, pero no solo se admiten en las rutas de PowerShell. Estos son los caracteres codificados por Encode-SqlName y descodificados por Decode-SqlName:
Carácter |
\ |
/ |
: |
% |
< |
> |
* |
? |
[ |
] |
| |
Codificación hexadecimal |
%5C |
%2F |
%3A |
%25 |
%3C |
%3E |
%2A |
%3F |
%5B |
%5D |
%7C |
[Arriba]
Codificar un identificador
Para codificar un identificador de SQL Server en una ruta de acceso de PowerShell
Use uno de los dos métodos para codificar un identificador de SQL Server:
Especifique el código hexadecimal para el carácter no compatible mediante la sintaxis %XX, donde el código hexadecimal es XX.
Pase el identificador como una cadena entrecomillada al cmdlet Encode-Sqlname
Ejemplos (codificación)
Este ejemplo especifica la versión codificada del carácter (%3A) ":":
Set-Location Table%3ATest
También puede usar Encode-SqlName para compilar un nombre admitido por Windows PowerShell:
Set-Location (Encode-SqlName "Table:Test")
[Arriba]
Descodificar un identificador
Descodificar un identificador de SQL Server de una ruta de PowerShell
Use el cmdlet Decode-Sqlname para reemplazar las codificaciones hexadecimales con caracteres representados por la codificación.
Ejemplos (descodificación)
Este ejemplo devuelve "Table:Test":
Decode-SqlName "Table%3ATest"
[Arriba]
Vea también
Conceptos
Identificadores de SQL Server en PowerShell