Livello CLR di AdventureWorks Cycles
L'esempio relativo al livello CLR di AdventureWorks Cycles per SQL Server 2005 offre interessanti utilità che costituiscono un ulteriore livello di funzionalità per il database di esempio AdventureWorks di base. La prima utilità crea record con informazioni di contatto per i diversi tipi di persone inclusi nel database AdventureWorks. Le informazioni di contatto vengono specificate mediante XML e quindi passate a una stored procedure basata su C#. La seconda utilità definisce un tipo di dati Currency definito dall'utente mediante C#. Questo tipo di dati definito dall'utente incapsula un importo e una lingua che consentono di determinare il modo corretto per rappresentare l'importo come valuta del paese della lingua in oggetto. La terza utilità offre una funzionalità di conversione di valuta che restituisce un'istanza del tipo di dati Currency definito dall'utente. Se il database AdventureWorks prevede un tasso di conversione da dollari US (USD) nella valuta associata alla lingua specificata, la funzione di conversione restituisce un tipo di dati Currency definito dall'utente con conversione e lingua corrispondenti alla lingua specificata. In caso contrario, viene restituito un tipo di dati Currency definito dall'utente con l'importo originale in dollari USA e con la lingua en-us. Le utilità illustrano inoltre come registrare assembly e metodi CLR (Common Language Runtime) e annullarne la registrazione mediante Transact-SQL.
[!NOTA] I tassi di cambio utilizzati nell'esempio sono fittizi e non devono essere utilizzati in transazioni finanziarie reali.
La directory di installazione predefinita è unità:\Programmi\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\AdventureWorks.
Scenario
- Uno sviluppatore deve disporre di un modo pratico per rappresentare, impostare la persistenza e gestire vari importi monetari in valute diverse.
- Uno sviluppatore deve disporre di un modo pratico per creare nuove informazioni di contatto per dipendenti, clienti singoli, negozi e fornitori e correlarle con altre informazioni archiviate nel database AdventureWorks.
Linguaggi
Transact-SQL, Visual C# e Visual Basic.
Funzionalità
L'esempio di livello SQLCLR utilizza le funzionalità seguenti di SQL Server 2005.
Area di applicazione | Funzionalità |
---|---|
Contact |
XML |
Currency, ConvertCurrency |
Tipo CLR definito dall'utente, funzione CLR definita dall'utente |
Prerequisiti
Prima di eseguire questo esempio, verificare che siano installati i prodotti software seguenti:
- SQL Server 2005 o SQL Server 2005 Express Edition (SQL Server Express). SQL Server Express è disponibile gratuitamente nel sito Web relativo a documentazione ed esempi di SQL Server 2005 Express Edition.
- Il database AdventureWorks, incluso in SQL Server 2005 e disponibile nel sito Web per gli sviluppatori di SQL Server.
- Gli esempi di Motore di database di SQL Server 2005, inclusi in SQL Server 2005. È possibile scaricare la versione più recente degli esempi dal sito Web per gli sviluppatori di SQL Server.
- .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. .NET Framework SDK è disponibile gratuitamente. Vedere Installazione di .NET Framework SDK.
Generazione dell'esempio
Se ancora non sono stati creati i file di chiave con nome sicuro SampleKey.snk e UnsafeSampleKey.snk, generarli seguendo le istruzioni riportate di seguito.
Per generare un file di chiave con nome sicuro
Aprire il prompt dei comandi Microsoft Visual Studio 2005. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft Visual Studio 2005, Visual Studio Tools e quindi Prompt dei comandi di Visual Studio 2005.
—O—
Aprire il prompt dei comandi .NET Framework. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0 e quindi Prompt dei comandi SDK.
Al prompt dei comandi mediante il comando CD (change directory) passare dalla directory corrente della finestra del prompt dei comandi alla cartella Samples.
[!NOTA] Per determinare la cartella in cui si trovano gli esempi, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005, Documentazione ed esercitazioni e quindi Directory esempi. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <system_drive>:\Programmi\Microsoft SQL Server\90\Samples.
Al prompt dei comandi digitare i comandi seguenti per generare i file di chiave:
sn -k SampleKey.snk
sn -k UnsafeSampleKey.snk
Importante: Per ulteriori informazioni sulla coppia di chiavi con nome sicuro, vedere l'argomento relativo ai nomi sicuri e alla protezione in .NET Framework nel centro per sviluppatori di .NET su MSDN (informazioni in lingua inglese).
Per generare questo esempio, procedere come segue:
Generazione dell'esempio
Compilare l'esempio mediante Visual Studio 2005 e la soluzione Visual Studio fornita, oppure mediante Microsoft MSBuild, incluso in .NET Framework SDK 2.0. Al prompt dei comandi eseguire un comando simile al seguente:
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln
Verificare che il database AdventureWorks sia installato.
Se gli esempi di Motore di database di SQL Server non sono stati installati nel percorso predefinito, modificare il percorso nella parte CREATE ASSEMBLY dello script in Scripts\InstallCS.sql per fare riferimento al percorso di installazione degli esempi.
Se non si è amministratore dell'istanza di SQL Server in uso, è necessario ottenere l'autorizzazione CreateAssembly dall'amministratore per completare l'installazione.
Aprire il file scripts\installCS.sql o scripts\installVB.sql, a seconda che sia stato compilato il progetto Visual C# o il progetto Visual Basic, in SQL Server Management Studio. Eseguire lo script contenuto nel file oppure al prompt dei comandi eseguire un comando simile al seguente:
sqlcmd -E -I -i Scripts\InstallCS.sql
Lo script esegue le azioni seguenti:
- Rimuove le stored procedure che stanno per essere definite, se disponibili.
- Elimina la registrazione dell'assembly, se disponibile.
- Registra l'assembly.
- Registra le stored procedure CLR.
Esecuzione dell'esempio
Per eseguire questo esempio, procedere come segue:
Esecuzione dell'esempio
Caricare il file Scripts\test.sql in Management Studio ed eseguirlo. In alternativa, eseguire il comando seguente al prompt dei comandi:
sqlcmd -E -I -i Scripts\test.sql
Rimozione dell'esempio
Eseguire la procedura seguente per rimuovere l'esempio di livello SQLCLR:
Rimozione dell'esempio
Caricare ed eseguire Scripts\cleanup.sql in Management Studio. In alternativa, eseguire il comando seguente al prompt dei comandi:
sqlcmd -E -I -i Scripts\cleanup.sql
Commenti
Per il corretto funzionamento di questo esempio, è necessario abilitare CLR per SQL Server 2005 o SQL Server 2005 Express Edition.
Gli esempi vengono forniti esclusivamente a scopo didattico. Non sono destinati all'utilizzo in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoft non rende disponibile il supporto tecnico per questi esempi. Le applicazioni e gli assembly di esempio non devono essere connessi o utilizzati con il database di SQL Server o il server di report in un ambiente di produzione senza l'autorizzazione dell'amministratore di sistema.
Vedere anche
Attività
Concetti
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|