Gestione di oggetti di grandi dimensioni (LOB)
Data aggiornamento: 5 dicembre 2005
Nell'esempio HandlingLOBUsingCLR di SQL Server 2005 viene illustrato il trasferimento di oggetti di grandi dimensioni (LOB) tra SQL Server e un file system accessibile dal server tramite stored procedure Common Language Runtime (CLR). In questo esempio viene illustrata la procedura di accesso ai file nel codice sul lato server e quindi la procedura di richiamo di query dinamiche e di stored procedure dalle stored procedure basate su CLR. Viene inoltre descritta la procedura di registrazione e annullamento della registrazione di metodi e assembly CLR tramite Transact-SQL.
La directory di installazione predefinita è drive:\Programmi\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR.
Scenario
Uno sviluppatore desidera copiare immagini tra SQL Server e il file system nel server.
Linguaggi
Transact-SQL, Visual C# e Visual Basic.
Funzionalità
Nell'esempio HandlingLOBUsingCLR vengono utilizzate le funzionalità seguenti di SQL Server:
Area di applicazione | Funzionalità |
---|---|
Generale |
Stored procedure CLR, chiamata di stored procedure Transact-SQL da stored procedure CLR, tipo di dati VARBINARY(MAX). |
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 è stato creato il file di chiave con nome sicuro ExternalSampleKey.snk, generarlo 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 Microsoft .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 il comando seguente per generare il file di chiave:
sn -k ExternalSampleKey.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:
Generare l'esempio
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 eseguire un comando simile al seguente:
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\HandlingLOBUsingCLR.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 degli script in Scripts\InstallCS.sql e Scripts\InstallVB.sql con il percorso nel quale 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 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
Questo script esegue le operazioni seguenti:
Esecuzione dell'esempio
Per eseguire questo esempio, procedere come segue:
Eseguire l'esempio
Per leggere un'immagine dal database, richiamare uno script simile al seguente:
exec GetPhotoFromDB 70, 'C:\Temp\', 'test6.gif'
go
Verificare che la directory specificata esista.
Per scrivere un'immagine nel database, richiamare uno script simile al seguente:
exec PutPhotoIntoDB 70, 'C:\Temp\', 'test1.gif'
go
Eventuali errori verranno riportati nel file error.log nella directory specificata. Per gli script simili a quelli descritti in questa procedurea, vedere il file Scripts\test.sql.
Rimozione dell'esempio
Per rimuovere questo esempio, procedere come segue:
Rimuovere l'esempio
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 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à
Gestione di oggetti LOB mediante ADO.NET
Concetti
Altre risorse
Database Engine .NET Framework Programming
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
5 dicembre 2005 |
|