Codierung und Decodierung von SQL Server-Bezeichnern
Begrenzungsbezeichner von SQL Server können Zeichen enthalten, die in Windows PowerShell-Pfaden nicht unterstützt werden. Diese Zeichen können angegeben werden, indem ihre Hexadezimalwerte codiert werden.
Bevor Sie beginnen: Einschränkungen und Einschränkungen
So verarbeiten Sie Sonderzeichen: Codieren eines Bezeichners, Decodieren eines Bezeichners
Vorbereitungen
Zeichen, die in Windows PowerShell-Pfadnamen nicht unterstützt werden, können als „%“-Zeichen gefolgt vom Hexadezimalwert des Bitmusters, das das Zeichen darstellt, dargestellt bzw. codiert werden (Beispiel: **%**xx). Codierung kann immer zur Verarbeitung von Zeichen verwendet werden, die in Windows PowerShell-Pfaden nicht unterstützt werden.
Das Cmdlet Encode-SqlName akzeptiert als Eingabe einen SQL Server-Bezeichner. Es gibt eine Zeichenfolge mit allen nicht von der Windows PowerShell-Sprache unterstützten Zeichen, die mit "%xx" codiert sind, aus. Das Cmdlet Decode-SqlName akzeptiert einen codierten SQL Server-Bezeichner als Eingabe und gibt den ursprünglichen Bezeichner zurück.
Einschränkungen
Das Encode-Sqlname
-Cmdlet und das Decode-Sqlname
-Cmdlet codieren oder decodieren nur die Zeichen, die in SQL Server-Begrenzungsbezeichnern zulässig sind, jedoch nicht in PowerShell-Pfaden unterstützt werden. Dies sind die Zeichen, die von Encode-SqlName codiert und von Decode-SqlNamedecodiert werden:
Zeichen | \ | / | : | % | < | > | * | ? | [ | ] | | |
Hexadezimale Codierung | %5C | %2F | %3A | %25 | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
Codieren eines Bezeichners
So codieren Sie einen SQL Server-Bezeichner in einem PowerShell-Pfad
Codieren Sie mithilfe einer der folgenden beiden Methoden einen SQL Server-Bezeichner:
Geben Sie den Hexadezimalcode für das nicht unterstützte Zeichen an, indem Sie die Syntax % XX verwenden, wobei XX der Hexadezimalcode ist.
Übergeben Sie den Bezeichners als Zeichenfolge in Anführungszeichen an das
Encode-Sqlname
-Cmdlet.
Beispiele (Codierung)
In diesem Beispiel wird die codierte Version des Zeichens ":" (%3A) dargestellt:
Set-Location Table%3ATest
Alternativ können Sie Encode-SqlName verwenden, um einen von Windows PowerShell unterstützten Namen zu erstellen:
Set-Location (Encode-SqlName "Table:Test")
Decodieren eines Bezeichners
So decodieren Sie einen SQL Server-Bezeichner aus einem PowerShell-Pfad
Verwenden Sie das Decode-Sqlname
-Cmdlet, um die Hexadezimalcodierungen durch die von der Codierung dargestellten Zeichen zu ersetzen.
Beispiele (Decodierung)
Dieses Beispiel gibt „Table:Test“ zurück:
Decode-SqlName "Table%3ATest"
Weitere Informationen
SQL Server-Bezeichnern in PowerShell
SQL Server PowerShell-Anbieter
SQL Server-PowerShell