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.
Prima di iniziare: Limitazioni e restrizioni
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