Partager via


Encoder et décoder des identificateurs SQL Server

Les identificateurs délimités SQL Server contiennent parfois des caractères non pris en charge dans les chemins d'accès Windows PowerShell. Vous pouvez spécifier ces caractères en encodant leurs valeurs hexadécimales.

  1. Avant de commencer : Limitations et restrictions

  2. Pour traiter des caractères spéciaux : Encodage d’un identificateur, décodage d’un identificateur

Avant de commencer

Les caractères qui ne sont pas pris en charge dans les noms de chemins d'accès Windows PowerShell peuvent être représentés ou codés, sous la forme du caractère « % » suivi de la valeur hexadécimale pour le modèle binaire qui représente le caractère, comme dans « **%**xx ». Le codage peut toujours être utilisé pour gérer des caractères qui ne sont pas pris en charge dans les chemins d'accès Windows PowerShell.

La cmdlet Encode-SqlName prend comme entrée un identificateur SQL Server. Elle génère une chaîne contenant tous les caractères qui ne sont pas pris en charge par le langage Windows PowerShell codés avec « % xx ». La cmdlet Decode-SqlName prend comme entrée un identificateur SQL Server encodé et retourne l’identificateur d’origine.

Limitations et restrictions

Les applets de commande Encode-Sqlname et Decode-Sqlname encodent ou décodent uniquement les caractères autorisés dans les identificateurs délimités SQL Server, mais ne sont pas prises en charge dans les chemins d'accès PowerShell. Voici les caractères encodés par Encode-SqlName et décodés par Decode-SqlName:

Caractère \ / : % < > * ? [ ] |
Encodage hexadécimal %5C %2F %3A %25 %3C %3E %2A %3F %5B %5D %7C

Encodage d'un identificateur

Pour encoder un identificateur SQL Server dans un chemin d'accès PowerShell

  • Utilisez l'une des deux méthodes suivantes pour encoder un identificateur SQL Server :

    • Spécifiez le code hexadécimal du caractère non pris en charge à l'aide de la syntaxe %XX, où XX est le code hexadécimal.

    • Passez l'identificateur en tant que chaîne entre guillemets à l'applet de commande Encode-Sqlname

Exemples (encodage)

Cet exemple spécifie la version encodée du caractère « : » (%3A) :

Set-Location Table%3ATest  

Vous pouvez également utiliser Encode-SqlName pour générer un nom pris en charge par Windows PowerShell :

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

Décodage d'un identificateur

Pour décoder un identificateur SQL Server à partir d'un chemin d'accès PowerShell

Utilisez l'applet de commande Decode-Sqlname pour remplacer les encodages hexadécimaux par les caractères représentés par l'encodage.

Exemples (décodage)

Cet exemple retourne « Table:Test » :

Decode-SqlName "Table%3ATest"  

Voir aussi

Identificateurs SQL Server dans PowerShell
Fournisseur SQL Server PowerShell
SQL Server PowerShell