Compartir a través de


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.

  1. Antes de comenzar: Limitaciones y restricciones

  2. 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