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 comenzar: Limitaciones y restricciones
Para procesar 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 |
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")
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"
Consulte también
Identificadores de SQL Server en PowerShell
Proveedor de SQL Server PowerShell Provider
SQL Server PowerShell