Condividi tramite


Codificare e decodificare identificatori di SLQ Server

Gli identificatori delimitati di SQL Server possono contenere caratteri non supportati nei percorsi di Windows PowerShell. È possibile specificare questi caratteri codificando i valori esadecimali.

  1. Prima di iniziare: Limitazioni e restrizioni

  2. Per elaborare caratteri speciali: Codifica di un identificatore, Decodifica di un identificatore

Prima di iniziare

I caratteri non supportati nei nomi dei percorsi di Windows PowerShell possono essere rappresentati o codificati come il carattere "%" seguito dal valore esadecimale del modello di bit che rappresenta il carattere, come in "**%**xx". La codifica può sempre essere utilizzata per gestire i caratteri non supportati nei percorsi di Windows PowerShell.

Il cmdlet Encode-SqlName accetta come input un identificatore di SQL Server. Viene restituita una stringa con tutti i caratteri non supportati dal linguaggio di Windows PowerShell codificati con "% xx". Nel cmdlet Decode-SqlName viene accettato come input un identificatore di SQL Server codificato e viene restituito l'identificatore originale.

Limitazioni e restrizioni

Nei cmdlet Encode-Sqlname e Decode-Sqlname è possibile codificare o decodificare solo i caratteri consentiti negli identificatori delimitati di SQL Server, ma non sono supportati nei percorsi di PowerShell. Caratteri codificati da Encode-SqlName e decodificati da Decode-SqlName:

Carattere

\

/

:

%

<

>

*

?

[

]

|

Codifica esadecimale

%5C

%2F

%3A

%25

%3C

%3E

%2A

%3F

%5B

%5D

%7C

[Torna all'inizio]

Codifica di un identificatore

Per codificare un identificatore di SQL Server in un percorso di PowerShell

  • Utilizzare uno dei due metodi per codificare un identificatore di SQL Server:

    • Specificare il codice esadecimale per il carattere non supportato utilizzando la sintassi% XX, dove XX rappresenta il codice esadecimale.

    • Passare l'identificatore come stringa tra virgolette al cmdlet Encode-Sqlname

Esempi (codifica)

In questo esempio viene specificata la versione codificata del carattere ":" (% 3A):

Set-Location Table%3ATest

In alternativa, è possibile utilizzare Encode-SqlName per compilare un nome supportato da Windows PowerShell:

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

[Torna all'inizio]

Decodifica di un identificatore

Per decodificare un identificatore di SQL Server da un percorso di PowerShell

Utilizzare il cmdlet Decode-Sqlname per sostituire le codifiche esadecimali con i caratteri rappresentati dalla codifica.

Esempi (decodifica)

In questo esempio viene restituito "Table:Test":

Decode-SqlName "Table%3ATest"

[Torna all'inizio]

Vedere anche

Concetti

Identificatori di SQL Server in PowerShell

Provider PowerShell per SQL Server

SQL Server PowerShell