Condividi tramite


Progetti SQL Server

Aggiornamento: novembre 2007

In aggiunta al linguaggio di programmazione Transact-SQL è possibile utilizzare i linguaggi .NET Framework per creare oggetti di database, quali stored procedure e trigger, nonché recuperare e aggiornare dati relativi a database di Microsoft SQL Server 2005. Lo sviluppo di oggetti di database .NET Framework per SQL Server mediante codice gestito presenta molti vantaggi rispetto a Transact-SQL. Per ulteriori informazioni, vedere Vantaggi dell'utilizzo di codice gestito per creare oggetti di database.

Per creare un oggetto di database è possibile creare un progetto SQL Server, aggiungere gli elementi richiesti a tale progetto, quindi aggiungere codice a questi ultimi. Successivamente è possibile compilare il progetto in un assembly e distribuirlo su SQL Server.

Nota:

Per impostazione predefinita, la funzionalità di integrazione di Common Language Runtime (CLR) è disattivata in Microsoft SQL Server e deve essere attivata per poter utilizzare gli elementi del progetto SQL Server. Per attivare la funzionalità di integrazione di CLR, utilizzare l'opzione clr enabled della stored procedure sp_configure. Per ulteriori informazioni, vedere Attivazione dell'integrazione CLR.

Creazione di un nuovo progetto

Creare un nuovo progetto SQL Server facendo clic sul menu File, scegliendo Progetto, quindi selezionando Progetto SQL Server nella Finestra di dialogo Nuovo progetto. Per ulteriori informazioni, vedere Procedura: creare un progetto SQL Server.

Una volta creato il nuovo progetto SQL Server, verrà visualizzata la Finestra di dialogo Aggiungi riferimento al database che consente di aggiungere al progetto una connessione o un riferimento al database. È possibile selezionare un riferimento al database disponibile in Esplora server/Esplora database o definire una nuova connessione. Nel progetto è possibile aggiungere un solo riferimento al database.

Proprietà progetto

È possibile modificare il Nome assembly, ovvero il nome del file di output contenente il manifesto dell'assembly. In tal caso, verrà modificato anche il nome dell'oggetto di database presente nel database di SQL Server.

Aggiunta di elementi al progetto

I nuovi progetti SQL Server contengono solo riferimenti e informazioni sugli assembly. Per creare oggetti di database occorre innanzitutto aggiungere elementi al progetto, quindi aggiungere codice a questi ultimi. Per ulteriori informazioni, vedere Modelli di elementi per progetti SQL Server.

Nella tabella che segue sono elencati gli elementi specifici di progetti SQL Server che è possibile aggiungere.

Elemento

Ulteriori informazioni

Stored Procedure

Procedura: creare ed eseguire una stored procedure CLR di SQL Server

Trigger

Procedura: creare ed eseguire un trigger CLR di SQL Server

Funzione definita dall'utente

Procedura: creare ed eseguire una funzione CLR definita dall'utente di SQL Server

Tipo definito dall'utente

Procedura: creare ed eseguire una funzione CLR definita dall'utente di SQL Server

Aggregato

Procedura: creare ed eseguire un aggregato CLR di SQL Server

Compilazione, distribuzione e debug

La compilazione di un progetto ne implica la compilazione in un assembly che possa essere distribuito al database cui viene fatto riferimento nel progetto e che successivamente possa essere sottoposto a debug.

Suggerimento:

In alternativa all'esecuzione dei tre singoli passaggi di compilazione dell'assembly, distribuzione al database e debug dell'oggetto di database è possibile eseguire automaticamente le tre operazioni utilizzando il comando Avvia (F5) o Avvia senza eseguire debug (CTRL+F5).

Prima che sia possibile eseguire il debug dell'oggetto di database, è necessario aggiungere codice Transact-SQL all'elemento Test.sql (debug.sql in Visual C++). Lo script presente nell'elemento Test.sql è importante per il debug in quanto esegue nel database le azioni necessarie per l'avvio e la verifica dell'oggetto di database. Quando viene aggiunto al progetto, l'elemento Test.sql contiene una struttura di codice per uno script di esecuzione dell'azione richiesta nel database. Se il progetto SQL Server contiene più oggetti di database, lo script dell'elemento Test.sql esegue ciascun oggetto di database.

Lo script di debug richiesto in questo caso è diverso, ad esempio, da quello di un progetto Windows Form, che crea ed esegue un programma eseguibile indipendente. L'esecuzione degli oggetti di database si verifica solo in risposta ad azioni o chiamate nel database. Un trigger può ad esempio essere attivato all'inserimento di una nuova riga in una tabella. Lo script Test.sql dovrà quindi inserire in una tabella una nuova riga per l'attivazione del trigger. I risultati del trigger vengono visualizzati nella finestra di output di Visual Studio perché sia possibile verificare che funzioni correttamente.

A questo punto, è possibile inserire codice nell'elemento aggiunto al progetto SQL Server e nell'elemento Test.sql. È possibile trovare il codice di esempio di ogni oggetto di database negli argomenti relativi ai diversi elementi di database disponibili. Vedere la tabella precedente.

Compilazione di un progetto SQL Server

Una volta compilato, un progetto viene compilato in un assembly. Se si utilizza Visual Basic, attenersi alla procedura riportata di seguito:

Per compilare un progetto SQL Server con Visual Basic

  1. In Esplora soluzioni selezionare il progetto.

  2. Scegliere Compila <NomeProgetto> dal menu Compila.

Se si utilizza Visual C#, Visual C++ o Visual J#, attenersi alla procedura riportata di seguito:

Per compilare un progetto SQL Server con Visual C#, Visual C++ o Visual J#

  1. In Esplora soluzioni, selezionare la soluzione.

  2. Scegliere Compila soluzione dal menu Compila.

Distribuzione dell'assembly a un database

Quando si distribuisce l'assembly al database cui viene fatto riferimento nel progetto, viene stabilita la connessione al database, nel quale viene copiato e registrato l'assembly e vengono impostati gli attributi. Poiché l'assembly viene distribuito a uno specifico database su un server, se si crea un nuovo riferimento a un database differente sullo stesso server, perché sia possibile utilizzare l'assembly sarà necessario distribuirlo al secondo database.

Se si utilizza Visual Basic, attenersi alla procedura riportata di seguito:

Per distribuire un assembly libreria di classi SQL Server con Visual Basic

  1. In Esplora soluzioni selezionare il progetto.

  2. Scegliere Distribuisci <NomeProgetto> dal menu Compila.

Se si utilizza Visual C#, Visual C++ o Visual J#, attenersi alla procedura riportata di seguito:

Per distribuire un assembly libreria di classi SQL Server con Visual C#, Visual C++ o Visual J#

  1. In Esplora soluzioni, selezionare la soluzione.

  2. Scegliere Distribuisci soluzione dal menu Compila.

Debug dell'oggetto di database

Quando si esegue il debug di un oggetto di database, l'assembly viene compilato, distribuito al database e sottoposto a debug. Se il debug viene eseguito su un oggetto di database già compilato e distribuito, l'assembly viene compilato nuovamente solo se il progetto è cambiato rispetto all'ultima compilazione. L'assembly viene sempre eliminato dal database e copiato di nuovo.

Per eseguire il debug dell'oggetto di database

  1. In Esplora soluzioni, selezionare la soluzione.

  2. Scegliere Avvia dal menu Debug.

  3. Nella finestra di Output selezionare Output database dall'elenco Mostra output di per visualizzare i risultati.

Vedere anche

Attività

Procedura: creare un progetto SQL Server

Procedura: creare ed eseguire una stored procedure CLR di SQL Server

Procedura: creare ed eseguire un trigger CLR di SQL Server

Procedura: creare ed eseguire un aggregato CLR di SQL Server

Procedura: creare ed eseguire una funzione CLR definita dall'utente di SQL Server

Procedura: creare ed eseguire un tipo CLR definito dall'utente di SQL Server

Procedura dettagliata: creazione di una stored procedure nel codice gestito

Procedura: eseguire il debug di una stored procedure CLR SQL

Concetti

Introduzione all'integrazione con CLR di SQL Server (ADO.NET)

Vantaggi dell'utilizzo di codice gestito per creare oggetti di database

Modelli di elementi per progetti SQL Server

Riferimenti

Attributi per oggetti di database e progetti SQL Server

Altre risorse

Esecuzione del debug di database CLR SQL