Condividi tramite


Esempio OracleTVF

Data aggiornamento: 5 dicembre 2005

In alcuni scenari aziendali può essere utile integrare i dati di sistemi di gestione di database diversi con i dati archiviati in Microsoft SQL Server. Questo esempio illustra come richiamare l'interfaccia con codice gestito a Oracle per esporre i risultati delle query Oracle come funzione valutata a livello di tabella in SQL Server. Questo approccio facilita l'unione in join di dati Oracle e SQL Server tramite un'istruzione SELECT relativamente semplice eseguibile in SQL Server.

L'esempio contiene la funzione GetDataFromOracle valutata a livello di tabella. Tale funzione utilizza il provider Oracle gestito per eseguire query Oracle arbitrarie su un database Oracle e restituire i risultati in formato tabellare.

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

Scenario

Jane è una sviluppatrice di Adventure Works Cycles che deve integrare dati di un database Oracle con i dati archiviati in un database .

Linguaggi

Transact-SQL Visual C# e Visual Basic.

Funzionalità

L'esempio OracleTVF utilizza le funzionalità seguenti di Microsoft SQL Server.

Area di applicazione Funzionalità

Generale

CLR, provider Oracle gestito, Transact-SQL

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 con documentazione ed esempi di SQL Server 2005 Express Edition.
  • 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. È possibile ottenere .NET Framework SDK gratuitamente. Per ulteriori informazioni, vedere Installazione di .NET Framework SDK.
  • Un server con Oracle 10g. Se è installata una versione precedente di Oracle, sarà necessario modificare la tabella e le colonne a cui si esegue l'accesso affinché corrispondano a una tabella esistente sul server precedente. Questo esempio potrebbe non funzionare su hardware con processore x64 che utilizza versioni di Oracle precedenti alla 10g. Se si desidera utilizzare l'esempio su Windows Vista, contattare il rappresentante del servizio clienti Oracle per informazioni sulla disponibilità di Oracle 10g per Windows Vista.

Generazione dell'esempio

Se ancora non è stato creato il file di chiave con nome sicuro UnsafeSampleKey.snk, generarlo eseguendo la procedura seguente.

Per generare un file di chiave con nome sicuro

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

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

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

    sn -k UnsafeSampleKey.snk

    ms345278.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 Microsoft .NET su MSDN (informazioni in lingua inglese).

Per generare l'esempio OracleTVF

  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. Eseguire comandi simili al seguente al prompt dei comandi .NET Framework:

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\OracleTVF.sln

  2. Verificare che il database AdventureWorks sia installato.

  3. Se gli esempi del motore di SQL Server non sono stati installati nel percorso predefinito, modificare il percorso nella parte CREATE ASSEMBLY dello script in Scripts\InstallCS.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 OracleTVF

  1. Aprire il file Scripts\Test.sql in Microsoft Management Studio oppure in un editor di testo, ad esempio Blocco note. Modificare lo script sostituendo <server name>, <user name> e <password> con il nome del server Oracle in uso e le credenziali utilizzate per il server. Questo esempio è stato progettato per essere eseguito con il database di esempio distribuito da Oracle e associato per impostazione predefinita all'utente scott, anche se l'amministratore di database potrebbe richiedere credenziali diverse. Eseguire lo script in Management Studio oppure salvarlo in Blocco note. In una finestra del prompt dei comandi eseguire quindi un comando simile al seguente:

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

Rimozione dell'esempio

Per rimuovere l'esempio OracleTVF

  1. Aprire il file scripts\cleanup.sql in Management Studio. Eseguire lo script contenuto nel file oppure 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.