Condividi tramite


Esempio Send DataSet

Data aggiornamento: 5 dicembre 2005

L'esempio Send DataSet illustra come restituire un set di dati basato su ADO .NET all'interno di una stored procedure sul lato server basata su Common Language Runtime (CLR) come set di risultati al client. Può essere utile, ad esempio, quando la stored procedure inserisce dati in un DataSet utilizzando i risultati di una query e quindi modifica i dati contenuti nel DataSet oppure se la stored procedure crea e popola un DataSet da zero.

L'esempio comprende due classi, DataSetUtilities e TestSendDataSet. Il metodo SendDataSet sulla classe DataSetUtilities implementa un modo generico per trasmettere il contenuto di un'istanza di un oggetto DataSet al client. Il metodo DoTest definito sulla classe TestSendDataSet verifica che il metodo SendDataSet funzioni creando un DataSet e riempiendolo con dati dalla stored procedure Transact-SQL usp_GetTwoBOMTestData. La stored procedure usp_GetTwoBOMTestData esegue due volte la stored procedure Transact-SQL uspGetBillOfMaterials per eseguire la query per la distinta base di due prodotti specificati come parametri alla stored procedure usp_GetTwoBOMTestData. Normalmente, dopo il riempimento del set di dati, i dati verrebbero modificati prima di richiamare SendDataSet per recapitare il set di dati come set di risultati al client. Per motivi di semplicità, l'esempio restituisce i dati senza apportare modifiche.

Directory di installazione: drive:\Programmi\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\SendDataSet\

Scenario

Jane è una sviluppatrice di Adventure Works Cycles e ha raccolto le informazioni di una delle stored procedure basate su CLR in un DataSet. Desidera ora restituire le informazioni contenute nel DataSet all'applicazione client.

Linguaggi

Transact-SQL Visual C# e Visual Basic.

Funzionalità

L'esempio Send DataSet utilizza le funzionalità seguenti di SQL Server.

Area di applicazione Funzionalità

Generale

CLR, metadati, DataSet, stored procedure, CTE

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

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

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

  3. Al prompt dei comandi digitare il comando seguente per generare il file di chiave:

    sn -k SampleKey.snk

    ms345281.note(it-it,SQL.90).gifImportante:
    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 Send DataSet

  1. 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\ SendDataSet.sln

  2. Verificare che il database AdventureWorks sia installato.

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

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

  5. 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 eseguire un comando simile al seguente in una finestra del prompt dei comandi:

    sqlcmd -E -I -i Scripts\InstallCS.sql

Esecuzione dell'esempio

Per eseguire l'esempio Send DataSet

  1. Aprire il file scripts\test.sql in Management Studio ed eseguire lo script contenuto nel file. In alternativa, eseguire il comando seguente in una finestra del prompt dei comandi:

    sqlcmd -E -I -i Scripts\test.sql

Rimozione dell'esempio

Per rimuovere l'esempio Send DataSet

  1. Aprire il file scripts\cleanup.sql in Management Studio ed eseguire lo script contenuto nel file. In alternativa, eseguire il comando seguente in una finestra del 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.