Esempio Hello World Ready
Data aggiornamento: 5 dicembre 2005
L'esempio Hello World Ready illustra le operazioni di base per la creazione, la distribuzione e il test di una stored procedure basata sull'integrazione con CLR semplice e internazionalizzata. Un componente internazionalizzato può essere facilmente localizzato in diverse lingue per diversi mercati in tutto il mondo senza dover modificare il codice sorgente del componente. L'esempio illustra inoltre come restituire dati tramite un parametro di output e un record, che viene creato in modo dinamico dalla stored procedure e restituito al client.
Questo esempio è praticamente identico all'Esempio Hello World, ad eccezione del fatto che la localizzazione di questa applicazione è molto più semplice e sicura. Per modificare il testo localizzato è necessario eseguire le operazioni seguenti:
- Modifica di un file XML, ovvero il file con estensione resx, per la lingua desiderata nella directory delle risorse
- Generazione del file delle risorse nella lingua tramite resgen
- Generazione della DLL satellite aggiornata per la lingua
- Eliminazione e aggiunta dell'assembly in SQL Server.
Il codice sorgente e l'assembly per la stored procedure CLR non vengono modificati. Nella directory delle risorse è disponibile lo script build.cmd che illustra come compilare e collegare gli assembly delle risorse.
Nonostante il codice sorgente dell'applicazione crei uno strumento di gestione delle risorse basato sull'assembly in esecuzione, non è necessario incorporare le risorse indipendenti dalla lingua nella DLL in cui è inclusa la stored procedure. L'attributo System.Resources.NeutralResourcesLanguage
utilizzato nel file AssemblyInfo.cs o AssemblyInfo.vb consente di includere le risorse indipendenti dalla lingua in una DLL satellite. A tale scopo, è consigliabile utilizzare una DLL separata in modo che, quando è necessario aggiungere o modificare testo localizzato, la DLL primaria che include la stored procedure CLR non debba essere modificata. Questo comportamento si rivela particolarmente utile per i tipi CLR definiti dall'utente che possono includere colonne e altre dipendenze che renderebbero complicate l'eliminazione e la riaggiunta del tipo.
In genere le versioni delle DLL satellite devono essere identiche alla versione dell'assembly principale. È tuttavia possibile utilizzare l'attributo SatelliteContractVersion
per consentire l'aggiornamento dell'assembly principale senza dover aggiornare anche gli assembly satellite. Per ulteriori informazioni, vedere la classe ResourceManager nella documentazione di Microsoft .NET Framework versione 2.0 SDK.
Directory di installazione: drive:\Programmi\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HelloWorldReady\.
Scenario
Jane è una sviluppatrice di Adventure Works Cycles e desidera acquisire familiarità con le operazioni di base che è possibile eseguire tramite le stored procedure CLR. Desidera inoltre sapere come internazionalizzare tramite risorse le stored procedure basate sull'integrazione con CLR, ovvero la tecnica adottata dal suo team.
Linguaggi
Transact-SQL, Visual C# e Visual Basic.
Funzionalità
L'esempio Hello World Ready utilizza le funzionalità seguenti di SQL Server.
Area di applicazione | Funzionalità |
---|---|
Generale |
CLR, metadati |
Localizzazione |
Risorse |
Prerequisiti
Prima di eseguire questo esempio, verificare che siano installati i prodotti software seguenti:
- Microsoft SQL Server 2005 o Microsoft 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 non è stato ancora creato un file di chiave con nome sicuro, generare il file di chiave seguendo le istruzioni seguenti.
Per generare un file di chiave con nome sicuro
Aprire il prompt dei comandi di Microsoft Visual Studio 2005. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0, quindi SDK Command Prompt.
-- oppure --
Aprire il prompt dei comandi di Microsoft .NET Framework. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0, quindi SDK Command Prompt.
Utilizzare il comando CD (change directory) per passare dalla directory corrente della finestra del prompt dei comandi alla cartella in cui sono stati installati gli esempi.
[!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, quindi Samples. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <unità_sistema>:\Programmi\Microsoft SQL Server\100\Samples.
Al prompt dei comandi digitare il comando seguente per generare il file di chiave:
sn -k SampleKey.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.
Per generare l'esempio Hello World Ready
Compilare l'esempio tramite Visual Studio 2005 e la soluzione Visual Studio fornita oppure tramite Microsoft MSBuild, incluso in .NET Framework SDK 2.0. Al prompt dei comandi SDK eseguire un comando simile al seguente:
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\ HelloWorld.sln
Al prompt dei comandi di .NET Framework o Visual Studio eseguire il file build.cmd incluso nella directory delle risorse per compilare gli assembly satellite. Questo file richiama resgen, incluso in Visual Studio o .NET Framework SDK.
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 e Scripts\InstallVB.sql per fare riferimento al percorso in cui sono stati installati gli 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 stata eseguita la compilazione del progetto Visual C# o del progetto Visual Basic in Microsoft 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
Esecuzione dell'esempio
Per eseguire l'esempio Hello World Ready
Aprire il file scripts\test.sql in Management Studio ed eseguire lo script contenuto nel file. In alternativa, eseguire il comando seguente al prompt dei comandi:
sqlcmd -E -I -i Scripts\test.sql
Rimozione dell'esempio
Per rimuovere l'esempio Hello World Ready
Aprire il file scripts\cleanup.sql in Management Studio ed eseguire lo script contenuto nel file. 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 Express.
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à
Esempio Hello World
Tipi definiti dall'utente (UDT) per valori di data/ora con supporto del calendario
Altre risorse
CREATE ASSEMBLY (Transact-SQL)
DROP ASSEMBLY (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DROP PROCEDURE (Transact-SQL)
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|