Conversione di schemi Oracle (OracleToSQL)Converting Oracle Schemas (OracleToSQL)

Dopo aver connesso a Oracle, connesso alla SQL ServerSQL Server, e imposta il progetto e le opzioni di mapping di dati, è possibile convertire oggetti di database Oracle SQL ServerSQL Server oggetti di database.After you have connected to Oracle, connected to SQL ServerSQL Server, and set project and data mapping options, you can convert Oracle database objects to SQL ServerSQL Server database objects.

Il processo di conversioneThe Conversion Process

La conversione di oggetti di database utilizza le definizioni degli oggetti da Oracle, li converte simile SQL ServerSQL Server degli oggetti e quindi carica tali informazioni nei metadati di SSMA.Converting database objects takes the object definitions from Oracle, converts them to similar SQL ServerSQL Server objects, and then loads this information into the SSMA metadata. Impossibile caricare le informazioni nell'istanza SQL ServerSQL Server.It does not load the information into the instance of SQL ServerSQL Server. È quindi possibile visualizzare gli oggetti e le relative proprietà utilizzando il SQL ServerSQL Server Visualizzatore metadati.You can then view the objects and their properties by using the SQL ServerSQL Server Metadata Explorer.

Durante la conversione, SSMA Stampa messaggi di output nel riquadro di Output e i messaggi di errore nel riquadro elenco errori.During the conversion, SSMA prints output messages to the Output pane and error messages to the Error List pane. Utilizzare le informazioni di output e l'errore per determinare se è necessario modificare i database Oracle o il processo di conversione per ottenere i risultati di conversione desiderato.Use the output and error information to determine whether you have to modify your Oracle databases or your conversion process to obtain the desired conversion results.

Impostazione delle opzioni di conversioneSetting Conversion Options

Prima di convertire gli oggetti, esaminare le opzioni di conversione del progetto nel impostazioni progetto la finestra di dialogo.Before converting objects, review the project conversion options in the Project Settings dialog box. Tramite questa finestra di dialogo, è possibile impostare la modalità di conversione di funzioni e variabili globali in SSMA.By using this dialog box, you can set how SSMA converts functions and global variables. Per ulteriori informazioni, vedere impostazioni progetto ( Conversione ) ( OracleToSQL ) .For more information, see Project Settings (Conversion) (OracleToSQL).

Risultati di conversioneConversion Results

Nella tabella seguente mostra gli oggetti di Oracle vengono convertiti e il valore risultante SQL ServerSQL Server oggetti:The following table shows which Oracle objects are converted, and the resulting SQL ServerSQL Server objects:

Oggetti di OracleOracle Objects Oggetti SQL Server risultantiResulting SQL Server Objects
FunzioniFunctions Se la funzione può essere convertita direttamente in Transact-SQLTransact-SQL, SSMA crea una funzione.If the function can be directly converted to Transact-SQLTransact-SQL, SSMA creates a function.

In alcuni casi, la funzione deve essere convertita a una stored procedure.In some cases, the function must be converted to a stored procedure. In questo caso, SSMA crea una stored procedure e una funzione che chiama la stored procedure.In this case, SSMA creates a stored procedure and a function that calls the stored procedure.
ProcedureProcedures Se la procedura può essere convertita direttamente in Transact-SQLTransact-SQL, SSMA crea una stored procedure.If the procedure can be directly converted to Transact-SQLTransact-SQL, SSMA creates a stored procedure.

In alcuni casi, una stored procedure deve essere chiamata in una transazione autonoma.In some cases a stored procedure must be called in an autonomous transaction. In questo caso, SSMA crea due stored procedure: una che implementa la procedura e un altro che viene utilizzata per chiamare l'implementazione di stored procedure.In this case, SSMA creates two stored procedures: one that implements the procedure, and another that is used for calling the implementing stored procedure.
PacchettiPackages SSMA consente di creare un set di stored procedure e funzioni che sono unificate da nomi di oggetti simili.SSMA creates a set of stored procedures and functions that are unified by similar object names.
SequenzeSequences SSMA crea gli oggetti sequenza (SQL Server 2012 o SQL Server 2014) o emula sequenze di Oracle.SSMA creates sequence objects (SQL Server 2012 or SQL Server 2014) or emulates Oracle sequences.
Tabelle con gli oggetti dipendenti, ad esempio indici e triggerTables with dependent objects such as indexes and triggers SSMA consente di creare tabelle con gli oggetti dipendenti.SSMA creates tables with dependent objects.
Consente di visualizzare gli oggetti dipendenti, ad esempio i triggerView with dependent objects, such as triggers SSMA consente di creare visualizzazioni con gli oggetti dipendenti.SSMA creates views with dependent objects.
Viste materializzateMaterialized Views SSMA consente di creare viste indicizzate in SQL server con alcune eccezioni. Conversione non riesce se la vista materializzata include uno o più dei seguenti costrutti:SSMA creates indexed views on SQL server with some exceptions. Conversion will fail if the materialized view includes one or more of the following constructs:

Funzione definita dall'utenteUser-defined function

Campo non deterministica / funzione / espressione di selezione, in cui o clausole GROUP BYNon deterministic field / function / expression in SELECT, WHERE or GROUP BY clauses

Utilizzo della colonna Float in SELECT * in o clausole GROUP BY (caso speciale di un problema precedente)Usage of Float column in SELECT*, WHERE or GROUP BY clauses (special case of previous issue)

(Inclusa nidificata tabelle) del tipo di dati personalizzatiCustom data type (incl. nested tables)

COUNT (distinct <campo>)COUNT(distinct <field>)

FETCHFETCH

OUTER join (LEFT, RIGHT o FULL)OUTER joins (LEFT, RIGHT, or FULL)

Sottoquery, altra visualizzazioneSubquery, other view

IN, RANK, LEAD, LOGOVER, RANK, LEAD, LOG

MIN, MAXMIN, MAX

UNION, SOTTRAZIONE, SI INTERSECANOUNION, MINUS, INTERSECT

HAVINGHAVING
TriggerTrigger SSMA consente di creare trigger in base alle regole seguenti:SSMA creates triggers based on the following rules:

PRIMA di convertire i trigger per trigger INSTEAD OF.BEFORE triggers are converted to INSTEAD OF triggers.

I trigger AFTER vengono convertiti in trigger AFTER.AFTER triggers are converted to AFTER triggers.

I trigger INSTEAD OF vengono convertiti in trigger INSTEAD OF.INSTEAD OF triggers are converted to INSTEAD OF triggers. Più trigger INSTEAD OF definito nella stessa operazione sono combinati in un trigger.Multiple INSTEAD OF triggers defined on the same operation are combined into one trigger.

I trigger a livello di riga vengono emulati utilizzano i cursori.Row-level triggers are emulated using cursors.

Trigger di propagazione vengono convertiti in più trigger singolo.Cascading triggers are converted into multiple individual triggers.
SinonimiSynonyms I sinonimi vengono creati per i seguenti tipi di oggetto:Synonyms are created for the following object types:

Le tabelle e oggettoTables and object tables

Viste e le viste di oggettoViews and object views

Stored procedureStored procedures

FunzioniFunctions

Sinonimi per gli oggetti seguenti sono risolte e sostituiti dai riferimenti diretto all'oggetto:Synonyms for the following objects are resolved and replaced by direct object references:

SequenzeSequences

PacchettiPackages

Oggetti dello schema di classe JavaJava class schema objects

Tipi di oggetto definito dall'utenteUser-defined object types

I sinonimi per un altro sinonimo non possono essere migrati e verranno contrassegnati come errori.Synonyms for another synonym cannot be migrated and will be marked as errors.

Sinonimi non vengono creati per le viste Materialized.Synonyms are not created for Materialized views.
Tipi definiti dall'utenteUser Defined Types SSMA fornisce supporto per la conversione dei tipi definiti dall'utente. Tipi definiti dall'utente, incluso il relativo utilizzo in programmi PL/SQL sono contrassegnati con errori di conversione speciali interattiva le regole seguenti:SSMA does not provide support for conversion of user defined types. User Defined Types, including its usage in PL/SQL programs are marked with special conversion errors guided by the following rules:

Colonna della tabella di un tipo definito dall'utente viene convertita in VARCHAR(8000).Table column of a user defined type is converted to VARCHAR(8000).

Argomento dell'utente di tipo definito in una stored procedure o funzione viene convertita in VARCHAR(8000).Argument of user defined type to a stored procedure or function is converted to VARCHAR(8000).

Variabile di tipo definito dall'utente in blocco PL/SQL viene convertito in VARCHAR(8000).Variable of user defined type in PL/SQL block is converted to VARCHAR(8000).

Oggetto tabella viene convertita in una tabella Standard.Object Table is converted to a Standard table.

Vista dell'oggetto viene convertito in una vista Standard.Object view is converted to a Standard view.

La conversione di oggetti di Database OracleConverting Oracle Database Objects

Per convertire gli oggetti di database Oracle, prima di selezionare gli oggetti che si desidera convertire e quindi chiedere di SSMA eseguire la conversione.To convert Oracle database objects, you first select the objects that you want to convert, and then have SSMA perform the conversion. Per visualizzare i messaggi di output durante la conversione nel vista dal menu Output.To view output messages during the conversion, on the View menu, select Output.

Per convertire gli oggetti di Oracle per la sintassi SQL ServerTo convert Oracle objects to SQL Server syntax

  1. In Visualizzatore metadati Oracle, espandere il server Oracle e quindi espandere schemi.In Oracle Metadata Explorer, expand the Oracle server, and then expand Schemas.

  2. Selezionare gli oggetti da convertire:Select objects to convert:

    • Per convertire tutti gli schemi, selezionare la casella di controllo accanto a schemi.To convert all schemas, select the check box next to Schemas.

    • Per convertire o omettere un database, selezionare la casella di controllo accanto al nome dello schema.To convert or omit a database, select the check box next to the schema name.

    • Per convertire o omettere una categoria di oggetti, espandere uno schema, quindi selezionare o deselezionare la casella di controllo accanto alla categoria.To convert or omit a category of objects, expand a schema, and then select or clear the check box next to the category.

    • Per convertire o omettere i singoli oggetti, espandere la cartella di categoria, quindi selezionare o deselezionare la casella di controllo accanto all'oggetto.To convert or omit individual objects, expand the category folder, and then select or clear the check box next to the object.

  3. Per convertire tutti gli oggetti selezionati, fare doppio clic su schemi e selezionare convertire Schema.To convert all selected objects, right-click Schemas and select Convert Schema.

    È anche possibile convertire oggetti singoli o le categorie di oggetti facendo l'oggetto o la relativa cartella padre, quindi convertire Schema.You can also convert individual objects or categories of objects by right-clicking the object or its parent folder, and then selecting Convert Schema.

Visualizzazione di problemi di conversioneViewing Conversion Problems

Alcuni oggetti Oracle potrebbero non essere convertiti.Some Oracle objects might not be converted. È possibile determinare le percentuali di successo di conversione visualizzando il report di riepilogo di conversione.You can determine the conversion success rates by viewing the summary conversion report.

Per visualizzare un report di riepilogoTo view a summary report

  1. Nel Visualizzatore metadati Oracle, selezionare schemi.In Oracle Metadata Explorer, select Schemas.

  2. Nel riquadro di destra, selezionare il Report scheda.In the right pane, select the Report tab.

    Questo report mostra il report di riepilogo di valutazione per tutti gli oggetti di database che sono stati valutati o convertiti.This report shows the summary assessment report for all database objects that have been assessed or converted. È inoltre possibile visualizzare un report di riepilogo per i singoli oggetti:You can also view a summary report for individual objects:

    • Per visualizzare il report per un singolo schema, selezionare lo schema in Visualizzatore metadati Oracle.To view the report for an individual schema, select the schema in Oracle Metadata Explorer.

    • Per visualizzare il report per un singolo oggetto, selezionare l'oggetto in Visualizzatore metadati Oracle.To view the report for an individual object, select the object in Oracle Metadata Explorer. Gli oggetti che presentano problemi di conversione hanno un'icona di errore rossa.Objects that have conversion problems have a red error icon.

Per gli oggetti che non è stato possibile conversione, è possibile visualizzare la sintassi che ha generato l'errore di conversione.For objects that failed conversion, you can view the syntax that resulted in the conversion failure.

Per visualizzare i problemi di conversione singoliTo view individual conversion problems

  1. In Oracle metadati Esplora espandere schemi.In Oracle Metadata Explorer, expand Schemas.

  2. Espandere lo schema che viene visualizzata un'icona di errore rossa.Expand the schema that shows a red error icon.

  3. In schema di espandere una cartella che contiene un'icona di errore rossa.Under the schema, expand a folder that has a red error icon.

  4. Selezionare l'oggetto con un'icona di errore rossa.Select the object that has a red error icon.

  5. Nel riquadro di destra, fare clic su di Report scheda.In the right pane, click the Report tab.

  6. Nella parte superiore del Report scheda è riportato un elenco a discesa.At the top of the Report tab is a drop-down list. Se l'elenco Mostra statistiche, modificare la selezione di origine.If the list shows Statistics, change the selection to Source.

    SSMA verrà visualizzato il codice sorgente e diversi pulsanti immediatamente sopra il codice.SSMA will display the source code and several buttons immediately above the code.

  7. Fare clic su di problema successivo pulsante.Click the Next Problem button. Si tratta di un'icona di errore rossa con una freccia rivolta verso destra.This is a red error icon with an arrow that points to the right.

    SSMA verrà evidenziati il primo codice problematico origine che trova nell'oggetto corrente.SSMA will highlight the first problematic source code it finds in the current object.

Per ogni elemento che non è stato possibile convertire, è necessario determinare ciò che si desidera eseguire con tale oggetto:For each item that could not be converted, you have to determine what you want to do with that object:

  • È possibile modificare il codice sorgente per le procedure nel SQL scheda.You can modify the source code for procedures on the SQL tab.

  • È possibile modificare l'oggetto nel database Oracle per rimuovere o modificare il codice problematico.You can modify the object in the Oracle database to remove or revise problematic code. Per caricare il codice aggiornato in SSMA, è necessario aggiornare i metadati.To load the updated code into SSMA, you will have to update the metadata. Per ulteriori informazioni, vedere connessione a Oracle Database ( OracleToSQL ).For more information, see Connecting to Oracle Database (OracleToSQL).

  • È possibile escludere l'oggetto dalla migrazione.You can exclude the object from migration. In SQL ServerSQL Server Visualizzatore metadati ed Esplora i metadati di Oracle, deselezionare la casella di controllo accanto all'elemento prima di caricare gli oggetti in SQL ServerSQL Server e la migrazione dei dati da Oracle.In SQL ServerSQL Server Metadata Explorer and Oracle Metadata Explorer, clear the check box next to the item before loading the objects into SQL ServerSQL Server and migrating data from Oracle.

Passaggio successivoNext Step

Il passaggio successivo del processo di migrazione consiste nel caricare gli oggetti convertiti in SQL Server.The next step in the migration process is to Load the converted objects into SQL Server.

Vedere ancheSee Also

Migrazione di database Oracle a SQL Server ( OracleToSQL )Migrating Oracle Databases to SQL Server (OracleToSQL)