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.
Avant de commencer : Limitations et restrictions
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