Freigeben über


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.

  1. Vorbereitungen: Einschränkungen

  2. Zum Verarbeiten von Sonderzeichen: Codieren eines Bezeichners, Decodieren eines Bezeichners

Vorbereitungen

Zeichen, die nicht in Windows PowerShell-Pfadnamen unterstützt werden, können als "%"-Zeichen gefolgt vom Hexadezimalwert des Bitmusters, das das Zeichen darstellt, dargestellt oder 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 nimmt einen SQL Server-Bezeichner als Eingabe auf. 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 nimmt einen codierten SQL Server-Bezeichner als Eingabe auf 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 von Encode-SqlName codierten und von Decode-SqlName decodierten Zeichen:

Zeichen

\

/

:

%

<

>

*

?

[

]

|

Hexadezimale Codierung

%5C

%2F

%3A

%25

%3C

%3E

%2A

%3F

%5B

%5D

%7C

[Nach oben]

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")

[Nach oben]

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"

[Nach oben]

Siehe auch

Konzepte

SQL Server-Bezeichnern in PowerShell

SQL Server PowerShell-Anbieter

SQL Server-PowerShell