Condividi tramite


Codificare e decodificare identificatori di SQL 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: codificare un identificatore, decodificando 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". Il cmdlet Decode-SqlName accetta come input un identificatore di SQL Server codificato e restituisce 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

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 usare Encode-SqlName per compilare un nome supportato da Windows PowerShell:

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

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"  

Vedi anche

Identificatori di SQL Server in PowerShell
Provider PowerShell per SQL Server
SQL Server PowerShell