Condividi tramite


File Leggimi relativo all'esempio Hello World Ready

Questo esempio funziona solo con SQL Server 2005 e SQL Server 2008. Non funzionerà con le versioni di SQL Server precedenti a SQL Server 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:

  1. Modifica di un file XML, ovvero il file con estensione resx, per la lingua desiderata nella directory delle risorse
  2. Generazione del file delle risorse nella lingua tramite resgen
  3. Generazione della DLL satellite aggiornata per la lingua
  4. 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: C:\Programmi\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\HelloWorldReady\

Per visualizzare o utilizzare gli esempi e i database di esempio di SQL Server, è necessario prima scaricarli e installarli. Per ulteriori informazioni, vedere Considerazioni per l'installazione di esempi e di database di esempio di SQL Server.

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 o Microsoft SQL Server Express. SQL Server Express è disponibile gratuitamente nel sito Web relativo a documentazione ed esempi di SQL Server Express.
  • Il database AdventureWorks disponibile nel sito Web per gli sviluppatori di SQL Server.
  • Gli esempi del Motore di database di SQL Server disponibili nel sito Web per gli sviluppatori di SQL Server.
  • .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. È possibile ottenere .NET Framework SDK gratuitamente. Vedere Installazione della documentazione di .NET Framework.

Generazione dell'esempio

Se non è ancora stato 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

  1. 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 e quindi fare clic su Prompt dei comandi di SDK.

    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 e quindi fare clic su Prompt dei comandi di SDK.

  2. Utilizzare il comando CD per modificare la directory corrente della finestra del prompt dei comandi nella cartella in cui sono 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, Documentazione ed esercitazioni e quindi fare clic su Directory esempi. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <unità_sistema>:\Programmi\Microsoft SQL Server\100\Samples.

  3. Al prompt dei comandi eseguire 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

  1. 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

  2. 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.

  3. Verificare che il database AdventureWorks sia installato.

  4. 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.

  5. Se non si è amministratore dell'istanza di SQL Server in uso, è necessario ottenere l'autorizzazione CreateAssembly dall'amministratore per completare l'installazione.

  6. 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

  1. 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

  1. 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 o SQL Server Express.

Gli esempi vengono offerti esclusivamente a scopo didattico. Non sono progettati per l'utilizzo in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoftnon offre servizi di 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à

File Leggimi relativo all'esempio Hello World
File Leggimi relativo all'esempio Calendar-Aware Date/Time UDT

Altre risorse

CREATE ASSEMBLY (Transact-SQL)
DROP ASSEMBLY (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DROP PROCEDURE (Transact-SQL)

Guida e informazioni

Assistenza su SQL Server 2008