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

Dopo aver connesso a Oracle, connesso al SQL ServerSQL Server, e impostare il progetto e le opzioni di mapping dei dati, è possibile convertire gli oggetti di database Oracle a SQL ServerSQL Server gli 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

Conversione di oggetti di database richiede le definizioni degli oggetti da Oracle, li converte in simile SQL ServerSQL Server 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. Non lo carica le informazioni nell'istanza della 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 consente di stampare i messaggi di output nel riquadro di Output e 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. Usare le informazioni di errore e di output 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 progetto nel impostazioni del progetto nella 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 altre informazioni, vedere impostazioni del progetto (conversione) (OracleToSQL).For more information, see Project Settings (Conversion) (OracleToSQL).

Risultati conversioneConversion Results

La tabella seguente mostra quali oggetti Oracle vengono convertiti e 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 consente di creare 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 in una stored procedure.In some cases, the function must be converted to a stored procedure. In questo caso, SSMA consente di creare 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 consente di creare 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 consente di creare due stored procedure: una che implementa la procedura e l'altra che viene usata per chiamare l'implementazione della 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 vengono unificate da nomi di oggetti simili.SSMA creates a set of stored procedures and functions that are unified by similar object names.
SequenzeSequences SSMA consente di creare gli oggetti sequenza (SQL Server 2012 o SQL Server 2014) o emula le 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 costrutti seguenti: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 le clausole GROUP BY oNon deterministic field / function / expression in SELECT, WHERE or GROUP BY clauses

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

(Tabelle incluse annidati) del tipo di dati personalizzatiCustom data type (incl. nested tables)

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

FETCHFETCH

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

Sottoquery, altre visualizzazioniSubquery, other view

OVER, RANK, LEAD, LOGOVER, RANK, LEAD, LOG

MIN, MAXMIN, MAX

UNION, MENO (-), SI INTERSECANOUNION, MINUS, INTERSECT

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

PRIMA che i trigger vengono convertiti in 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 tipi di oggetti seguenti:Synonyms are created for the following object types:

Le tabelle e oggettiTables and object tables

Le viste e le viste di oggettiViews and object views

Stored procedureStored procedures

FunzioniFunctions

I sinonimi per gli oggetti seguenti sono risolte e sostituiti da riferimenti a oggetti diretti: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.

I sinonimi non vengono creati per le visualizzazioni Materialized.Synonyms are not created for Materialized views.
Tipi definiti dall'utenteUser Defined Types SSMA è incluso alcun 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 speciale guidati dalle seguenti regole: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).

Tipo definito dall'argomento dell'utente a 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 nel blocco PL/SQL viene convertito in VARCHAR(8000).Variable of user defined type in PL/SQL block is converted to VARCHAR(8000).

Tabella degli oggetti 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.

Conversione di oggetti di Database OracleConverting Oracle Database Objects

Per convertire gli oggetti di database Oracle, prima di tutto selezionare gli oggetti che si desidera convertire e quindi 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 View dal menu Output.To view output messages during the conversion, on the View menu, select Output.

Per convertire oggetti Oracle in sintassi SQL ServerTo convert Oracle objects to SQL Server syntax

  1. Nel 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 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 Converti Schema.To convert all selected objects, right-click Schemas and select Convert Schema.

    È anche possibile convertire gli oggetti singoli o categorie di oggetti pulsante destro del mouse relativa cartella padre o l'oggetto e quindi selezionando convertire lo 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 dei problemi di conversioneViewing Conversion Problems

Alcuni oggetti Oracle potrebbero non essere convertiti.Some Oracle objects might not be converted. È possibile determinare i tassi di conversione riuscita, 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 la 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 state valutate o convertiti.This report shows the summary assessment report for all database objects that have been assessed or converted. È anche 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 rossa di errore.Objects that have conversion problems have a red error icon.

Per gli oggetti che non hanno superato la 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. Nel Visualizzatore metadati Oracle, espandere schemi.In Oracle Metadata Explorer, expand Schemas.

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

  3. Espandere una cartella con un'icona rossa di errore, lo schema.Under the schema, expand a folder that has a red error icon.

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

  5. Nel riquadro di destra, scegliere il Report scheda.In the right pane, click the Report tab.

  6. In cima il Report scheda è riportato un elenco di riepilogo a discesa.At the top of the Report tab is a drop-down list. Se l'elenco Mostra statistiche, modificare la selezione del 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. Scegliere il problema successivo pulsante.Click the Next Problem button. Si tratta di un'icona rossa di errore con una freccia che punta a destra.This is a red error icon with an arrow that points to the right.

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

Per ogni elemento che non può essere convertito, è necessario determinare ciò che si desidera eseguire operazioni 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 sul 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 altre 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. Nelle 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 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

La migrazione da Oracle database in SQL Server (OracleToSQL)Migrating Oracle Databases to SQL Server (OracleToSQL)