Impostazioni del progetto (conversione) (DB2ToSQL)Project Settings (Conversion) (DB2ToSQL)

La pagina di conversione del impostazioni progetto la finestra di dialogo contiene le impostazioni che consentono di personalizzare come SSMA Converte la sintassi per DB2 SQL ServerSQL Server sintassi.The Conversion page of the Project Settings dialog box contains settings that customize how SSMA converts DB2 syntax to SQL ServerSQL Server syntax.

Il riquadro di conversione è disponibile nel impostazioni progetto e impostazioni di progetto predefinite finestre di dialogo:The Conversion pane is available in the Project Settings and Default Project Settings dialog boxes:

  • Per specificare le impostazioni per tutti i progetti SSMA, il strumenti dal menu impostazioni di progetto predefinite, selezionare il tipo di progetto di migrazione per i quali impostazioni sono necessarie per essere visualizzati o modificati da versione di destinazione della migrazione elenco a discesa, quindi fare clic su generale nella parte inferiore del riquadro sinistro e quindi fare clic su conversione.To specify settings for all SSMA projects, on the Tools menu click Default Project Settings, select migration project type for which settings are required to be viewed or changed from Migration Target Version drop down, then click General at the bottom of the left pane, and then click Conversion.

  • Per specificare le impostazioni per il progetto corrente, il strumenti dal menu impostazioni progetto, quindi fare clic su generale nella parte inferiore del riquadro sinistro e quindi fare clic su conversione.To specify settings for the current project, on the Tools menu click Project Settings, then click General at the bottom of the left pane, and then click Conversion.

Messaggi di conversioneConversion Messages

Generazione di messaggi sui problemi applicatiGenerate messages about issues applied

Specifica se SSMA genera messaggi informativi durante la conversione, vengono visualizzate nel riquadro di Output e li aggiunge al codice convertito.Specifies whether SSMA generates informational messages during conversion, displays them in the Output pane, and adds them to the converted code.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico: NoDefault/Optimistic Mode: No

Modalità completa: NoFull Mode: No

Opzioni varieMiscellaneous Options

Espressioni ROWNUM cast come numeri interiCast ROWNUM expressions as integers

Quando SSMA converte le espressioni ROWNUM, l'espressione viene convertita in una clausola TOP, seguita dall'espressione.When SSMA converts ROWNUM expressions, it converts the expression into a TOP clause, followed by the expression. Nell'esempio seguente viene illustrato ROWNUM in un'istruzione DELETE DB2:The following example shows ROWNUM in an DB2 DELETE statement:

DELETE FROM Table1

WHERE ROWNUM < expression and Field1 >= 2

L'esempio seguente mostra il valore risultante Transact-SQLTransact-SQL:The following example shows the resulting Transact-SQLTransact-SQL:

DELETE TOP (expression-1)

FROM Table1

WHERE Field1>=2

Nella parte superiore, è necessario che l'espressione di clausole TOP restituisce un numero intero.The TOP requires that the TOP clauses expression evaluates to an integer. Se il numero intero negativo, l'istruzione genererà un errore.If the integer is negative, the statement will produce an error.

  • Se si seleziona , SSMA esegue il cast dell'espressione come un numero intero.If you select Yes, SSMA casts the expression as an integer.

  • Se si seleziona n, SSMA contrassegnerà tutte le espressioni non integer come un errore nel codice convertito.If you select No, SSMA will mark all non-integer expressions as an error in the converted code.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Full: NoDefault/Full Mode: No

La modalità ottimistico:Optimistic Mode: Yes

Mapping dello Schema predefinitoDefault Schema Mapping

Questa impostazione specifica la modalità di mapping degli schemi di DB2 agli schemi di SQL Server.This setting specifies how DB2 schemas are mapped to SQL Server schemas. Sono disponibili in questa impostazione di due opzioni:Two options are available in this setting:

  1. Schema di database: In questa modalità DB2 verrà mappato per impostazione predefinita allo schema di SQL Server 'dbo' nel database di SQL Server 'sch1' schema 'sch1'.Schema to database: In this mode DB2 schema ‘sch1’ will be mapped by default to ‘dbo’ SQL Server schema in SQL Server database ‘sch1’.

  2. Schema allo schema:In questa modalità DB2 schema 'sch1' verrà mappato per impostazione predefinita allo schema di SQL Server 'sch1' nel database di SQL Server predefinito fornito nella finestra di dialogo di connessione.Schema to schema:In this mode DB2 schema ‘sch1’ will be mapped by default to ‘sch1’ SQL Server schema in default SQL Server database provided in the connection dialog.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Optimistic/Full: dello Schema di databaseDefault/Optimistic/Full Mode: Schema to database

Modalità di conversione dell'istruzione MERGEConversion ways of MERGE statement

  • Se si seleziona utilizzo dell'istruzione INSERT, UPDATE, istruzione DELETESSMA Converte l'istruzione di unione in INSERT, UPDATE, DELETE istruzioni.If you select Using INSERT, UPDATE, DELETE statement, SSMA converts MERGER statement into INSERT, UPDATE, DELETE statements.

  • Se si seleziona istruzione utilizzando MERGE, SSMA Converte l'istruzione di unione in istruzione MERGE in SQL ServerSQL Server.If you select Using MERGE statement, SSMA converts MERGER statement into MERGE statement in SQL ServerSQL Server.

Avviso

Questa opzione di impostazione di progetto è disponibile solo in SQL ServerSQL Server 2008, SQL ServerSQL Server 2012, SQL ServerSQL Server 2014.This project setting option is available only in SQL ServerSQL Server 2008, SQL ServerSQL Server 2012, SQL ServerSQL Server 2014.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Optimistic/Full: tramite unione istruzioneDefault/Optimistic/Full Mode: Using MERGE statement

Convertire le chiamate a sottoprogrammi che usano argomenti predefinitiConvert calls to subprograms that use default arguments

SQL ServerSQL Serverfunzioni non supportano l'omissione dei parametri nella chiamata di funzione. functions do not support the omission of parameters in the function call. Inoltre, SQL ServerSQL Server procedure e funzioni non supportano espressioni come valori di parametro predefiniti.Also, SQL ServerSQL Server functions and procedures do not support expressions as default parameter values.

  • Se si seleziona e una chiamata di funzione include parametri, inserirà la parola chiave SSMA predefinito in cui la funzione e una chiamata nella posizione corretta.If you select Yes and a function call omits parameters, SSMA will insert the keyword default into the function and call in the correct position. Contrassegna quindi la chiamata con un messaggio di avviso.Then, it will mark the call with a warning.

  • Se si seleziona n, SSMA verrà contrassegnate come le chiamate di funzione come errori.If you select No, SSMA will mark the function calls as errors.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire funzione COUNT con COUNT_BIGConvert COUNT function to COUNT_BIG

Se le funzioni di conteggio sono probabile restituire i valori superiori a 2.147.483.647, ovvero 231-1, è consigliabile convertire le funzioni in COUNT_BIG.If your COUNT functions are likely to return values larger than 2,147,483,647, which is 231-1, you should convert the functions to COUNT_BIG.

  • Se si seleziona , SSMA convertirà tutte le occorrenze del conteggio COUNT_BIG.If you select Yes, SSMA will convert all uses of COUNT to COUNT_BIG.

  • Se si seleziona n, le funzioni rimarrà come conteggio.If you select No, the functions will remain as COUNT. SQL ServerSQL Serververrà restituito un errore se la funzione restituisce un valore maggiore di 231-1. will return an error if the function returns a value larger than 231-1.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Full:Default/Full Mode: Yes

La modalità ottimistico: NoOptimistic Mode: No

Convertire istruzione FORALL WHILE istruzioneConvert FORALL statement to WHILE statement

Definisce il modo SSMA tratterà FORALL cicli sugli elementi della raccolta di PL/SQL.Defines how SSMA will treat FORALL loops on PL/SQL collection elements.

  • Se si seleziona , SSMA crea un ciclo WHILE in cui gli elementi della raccolta vengono recuperati uno alla volta.If you select Yes, SSMA creates a WHILE loop where collection elements are retrieved one by one.

  • Se si seleziona n, SSMA genera un set di righe dalla raccolta utilizzando il metodo di () i nodi e viene utilizzato come una singola tabella.If you select No, SSMA generates a rowset from the collection using nodes( ) method and uses it as a single table. È più efficiente, ma rende meno leggibile il codice di output.This is more efficient, but makes the output code less readable.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico: NoDefault/Optimistic Mode: No

Modalità completa:Full Mode: Yes

Convertire le chiavi esterne con l'operazione referenziale SET NULL nella colonna non NULL.Convert foreign keys with SET NULL referential action on column that is NOT NULL

DB2 consente la creazione di vincoli di chiave esterna, in cui una SET NULL potrebbe eventualmente eseguire l'operazione perché non sono consentiti valori null nella colonna a cui fa riferimento.DB2 allows creating foreign key constraints, where a SET NULL action could not possibly be performed because NULLs are not permitted in the referenced column. SQL ServerSQL Servernon consente tale configurazione della chiave esterna. does not allow such foreign key configuration.

  • Se si seleziona , SSMA genererà referenziali come DB2, ma sarà necessario apportare modifiche manuali prima di caricare il vincolo SQL ServerSQL Server.If you select Yes, SSMA will generate referential actions as in DB2, but you will need to make manual changes before loading the constraint to SQL ServerSQL Server. Ad esempio, è possibile scegliere NO ACTION anziché SET NULL.For example, you can choose NO ACTION instead of SET NULL.

  • Se si seleziona n, il vincolo verrà contrassegnato come errore.If you select No, the constraint will be marked as an error.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full: NoDefault/Optimistic/Full Mode: No

Convertire le chiamate di funzione per le chiamate di proceduraConvert function calls to procedure calls

Alcune funzioni DB2 sono definiti come transazioni autonomi o contengono le istruzioni che non sono valide in SQL ServerSQL Server.Some DB2 functions are defined as autonomous transactions or contain statements that would not be valid in SQL ServerSQL Server. In questi casi, SSMA crea una stored procedure e una funzione che è un wrapper per la procedura.In these cases, SSMA creates a procedure and a function that is a wrapper for the procedure. La funzione convertita chiama la procedura di implementazione.The converted function calls the implementing procedure.

SSMA è possibile convertire le chiamate alla funzione wrapper in chiamate di procedura.SSMA can convert calls to the wrapper function into calls to the procedure. Questo consente di creare codice più leggibile e può migliorare le prestazioni.This creates more readable code and can improve performance. Tuttavia, il contesto non sempre consente. è ad esempio, non è possibile sostituire una chiamata di funzione nell'elenco di selezione con una chiamata di routine.However, the context does not always allow it; for example, you cannot replace a function call in SELECT list with a procedure call. SSMA presenta alcune opzioni per coprire i casi comuni:SSMA has a few options to cover the common cases:

  • Se si seleziona sempre, SSMA tenta di convertire le chiamate di funzione wrapper in chiamate di procedura.If you select Always, SSMA attempts to convert wrapper function calls into procedure calls. Se il contesto corrente non consente la conversione, viene generato un messaggio di errore.If the current context does not allow this conversion, an error message is produced. In questo modo, nessuna chiamata di funzione viene lasciata nel codice generato.This way, no function calls are left in the generated code.

  • Se si seleziona quando possibile, SSMA esegue uno spostamento a chiamate di procedura solo se la funzione ha parametri di output.If you select When possible, SSMA makes a move to procedure calls only if the function has output parameters. Quando lo spostamento non è possibile, viene rimosso l'attributo di output del parametro.When the move is not possible, parameter's output attribute is removed. In tutti gli altri casi SSMA lascia le chiamate di funzione.In all other cases SSMA leaves function calls.

  • Se si seleziona mai, SSMA lascerà tutte le chiamate di funzione come chiamate di funzione.If you select Never, SSMA will leave all function calls as function calls. In alcuni casi questa scelta non sarebbe accettabile per motivi di prestazioni.Sometimes this choice may be unacceptable because of performance reasons.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Optimistic/Full: quando possibileDefault/Optimistic/Full Mode: When possible

Convertire le istruzioni di blocco tabellaConvert LOCK TABLE statements

SSMA è possibile convertire numerose istruzioni di blocco tabella in hint di tabella.SSMA can convert many LOCK TABLE statements into table hints. SSMA non è possibile convertire le istruzioni di blocco tabella che contengono una partizione, parte, @dblinke le clausole NOWAIT e verranno contrassegnate come tali istruzioni con messaggi di errore di conversione.SSMA cannot convert any LOCK TABLE statements that contain PARTITION, SUBPARTITION, @dblink, and NOWAIT clauses, and will mark such statements with conversion error messages.

  • Se si seleziona , SSMA convertirà supportate le istruzioni di blocco TABLE in hint di tabella.If you select Yes, SSMA will convert supported LOCK TABLE statements into table hints.

  • Se si seleziona n, SSMA contrassegnerà tutte le istruzioni di blocco tabella con i messaggi di errore di conversione.If you select No, SSMA will mark all LOCK TABLE statements with conversion error messages.

Nella tabella seguente viene illustrato come SSMA converte le modalità di blocco DB2:The following table shows how SSMA converts DB2 lock modes:

DB2 Modalità di bloccoDB2 Lock Mode Hint di tabella SQL ServerSQL Server Table Hint
CONDIVISIONE DI RIGAROW SHARE ROWLOCK, HOLDLOCKROWLOCK, HOLDLOCK
RIGA ESCLUSIVOROW EXCLUSIVE HOLDLOCK ROWLOCK, XLOCK,ROWLOCK, XLOCK, HOLDLOCK
AGGIORNAMENTO DI CONDIVISIONE = CONDIVISIONE DI RIGASHARE UPDATE = ROW SHARE ROWLOCK, HOLDLOCKROWLOCK, HOLDLOCK
CONDIVIDISHARE TABLOCK, HOLDLOCKTABLOCK, HOLDLOCK
CONDIVISIONE DI RIGA ESCLUSIVOSHARE ROW EXCLUSIVE HOLDLOCK TABLOCK, XLOCK,TABLOCK, XLOCK, HOLDLOCK
ESCLUSIVOEXCLUSIVE TABLOCKX, HOLDLOCKTABLOCKX, HOLDLOCK

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire aperta per le istruzioni per i parametri REF CURSOR OUTConvert OPEN-FOR statements for REF CURSOR OUT parameters

In DB2, è possibile utilizzare l'istruzione OPEN per restituire un set di risultati a un parametro di tipo REF CURSOR OUT del sottoprogramma.In DB2, the OPEN-FOR statement can be used to return a result set to a subprogram's OUT parameter of type REF CURSOR. In SQL ServerSQL Server, le stored procedure restituire direttamente i risultati delle istruzioni SELECT.In SQL ServerSQL Server, stored procedures directly return the results of SELECT statements.

SSMA è possibile convertire numerose istruzioni OPEN FOR in istruzioni SELECT.SSMA can convert many OPEN-FOR statements into SELECT statements.

  • Se si seleziona , SSMA Converte l'istruzione OPEN FOR in un'istruzione SELECT, che restituisce il set di risultati al client.If you select Yes, SSMA converts the OPEN-FOR statement into a SELECT statement, which returns the result set to the client.

  • Se si seleziona n, SSMA genererà un messaggio di errore nel codice convertito e nel riquadro di Output.If you select No, SSMA will generate an error message in the converted code and in the Output pane.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire i record come un elenco di variabili separaConvert record as a list of separates variables

SSMA possibile convertire i record di DB2 in variabili separa e nelle variabili XML con struttura specifica.SSMA can convert DB2 records into separates variables and into XML variables with specific structure.

  • Se si seleziona , SSMA converte il record in un elenco di variabili separa quando possibile.If you select Yes, SSMA converts the record into a list of separates variables when possible.

  • Se si seleziona n, SSMA converte il record in variabili XML con struttura specifica.If you select No, SSMA converts the record into XML variables with specific structure.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire le chiamate di funzione SUBSTR alle chiamate di funzione SUBSTRINGConvert SUBSTR function calls to SUBSTRING function calls

SSMA può convertire le chiamate di funzione SUBSTR DB2 in SQL ServerSQL Server sottostringa chiamate di funzioni, a seconda del numero di parametri.SSMA can convert DB2 SUBSTR function calls into SQL ServerSQL Server substring function calls, depending on the number of parameters. Se SSMA non è possibile convertire una chiamata di funzione SUBSTR o il numero di parametri non è supportato, SSMA convertirà la chiamata di funzione SUBSTR in una chiamata di funzione SSMA personalizzata.If SSMA cannot convert a SUBSTR function call, or the number of parameters is not supported, SSMA will convert the SUBSTR function call into a custom SSMA function call.

  • Se si seleziona , SSMA convertirà chiamate di funzione SUBSTR utilizzano tre parametri in SQL ServerSQL Server sottostringa.If you select Yes, SSMA will convert SUBSTR function calls that use three parameters into SQL ServerSQL Server substring. Altre funzioni SUBSTR verranno convertite per chiamare la funzione SSMA personalizzata.Other SUBSTR functions will be converted to call the custom SSMA function.

  • Se si seleziona n, SSMA convertirà la chiamata di funzione SUBSTR in una chiamata di funzione SSMA personalizzata.If you select No, SSMA will convert the SUBSTR function call into a custom SSMA function call.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico:Default/Optimistic Mode: Yes

Modalità completa: NoFull Mode: No

Convertire sottotipiConvert subtypes

SSMA è possibile convertire sottotipi PL/SQL in due modi:SSMA can convert PL/SQL subtypes in two ways:

  • Se si seleziona , creerà SSMA SQL ServerSQL Server definito dall'utente tipo da un sottotipo e utilizzarlo per ogni variabile del sottotipo.If you select Yes, SSMA will create SQL ServerSQL Server user-defined type from a subtype and use it for each variable of this subtype.

  • Se si seleziona n, SSMA verrà sostituire tutte le dichiarazioni di origine del sottotipo di con il tipo sottostante e convertire il risultato come di consueto.If you select No, SSMA will substitute all source declarations of the subtype with the underlying type and convert the result as usual. In questo caso, non tipi aggiuntivi vengono creati in SQL ServerSQL ServerIn this case, no additional types are created in SQL ServerSQL Server

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full: NoDefault/Optimistic/Full Mode: No

Converte i sinonimiConvert synonyms

Sinonimi per gli oggetti di DB2 seguenti possono essere migrati a SQL ServerSQL Server:Synonyms for the following DB2 objects can be migrated to SQL ServerSQL Server:

  • Le tabelle e oggettoTables and object tables

  • Viste e le viste di oggettoViews and object views

  • Stored procedure e funzioniStored procedures and functions

  • Viste materializzateMaterialized views

Sinonimi per gli oggetti di DB2 seguenti possono essere sostituiti da riferimenti diretti agli oggetti:Synonyms for the following DB2 objects can be replaced by direct references to the objects:

  • SequenzeSequences

  • PacchettiPackages

  • Oggetti dello schema di classe JavaJava class schema objects

  • Tipi di oggetto definito dall'utenteUser-defined object types

Impossibile eseguire la migrazione di altri sinonimi.Other synonyms cannot be migrated. SSMA genererà messaggi di errore per il sinonimo e tutti i riferimenti che usano il sinonimo.SSMA will generate error messages for the synonym and all references that use the synonym.

  • Se si seleziona , creerà SSMA SQL ServerSQL Server sinonimi e riferimenti a oggetti direttamente in base agli elenchi precedenti.If you select Yes, SSMA will create SQL ServerSQL Server synonyms and direct object references according to the previous lists.

  • Se si seleziona n, SSMA creerà i riferimenti agli oggetti direct per tutti i sinonimi elencati di seguito.If you select No, SSMA will create direct object references for all synonyms listed here.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire TO_CHAR (date, formato)Convert TO_CHAR(date, format)

SSMA è possibile convertire TO_CHAR(date, format) DB2 in procedure dal database sysdb.SSMA can convert DB2 TO_CHAR(date, format) into procedures from sysdb database.

  • Se si seleziona funzione TO_CHAR_DATE utilizzando, SSMA converte TO_CHAR (date, formato) in TO_CHAR_DATE funzione tramite della lingua inglese per la conversione.If you select Using TO_CHAR_DATE function, SSMA converts the TO_CHAR(date, format) into TO_CHAR_DATE function using of English language for conversion.

  • Se si seleziona funzione utilizzando TO_CHAR_DATE_LS (attenzione NLS), SSMA converte TO_CHAR (date, formato) in TO_CHAR_DATE_LS funzione tramite della lingua di sessione per la conversioneIf you select Using TO_CHAR_DATE_LS function (NLS care), SSMA converts the TO_CHAR(date, format) into TO_CHAR_DATE_LS function using of session language for conversion

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/Optimistic: TO_CHAR_DATE Using (funzione)Default/Optimistic Mode: Using TO_CHAR_DATE function

Modalità completa: Using TO_CHAR_DATE_LS (attenzione NLS) (funzione)Full Mode: Using TO_CHAR_DATE_LS function (NLS care)

Convertire le istruzioni di elaborazione delle transazioniConvert transaction processing statements

SSMA è possibile convertire le istruzioni di elaborazione delle transazioni DB2:SSMA can convert DB2 transaction processing statements:

  • Se si seleziona , SSMA converte le istruzioni di elaborazione delle transazioni DB2 per SQL ServerSQL Server istruzioni.If you select Yes, SSMA converts DB2 transaction processing statements to SQL ServerSQL Server statements.

  • Se si seleziona n, SSMA contrassegna la transazione di errori di conversione di istruzioni di elaborazione.If you select No, SSMA marks the transaction processing statements as conversion errors.

Nota

DB2 apre le transazioni in modo implicito.DB2 opens transactions implicitly. Per emulare questo comportamento nella SQL ServerSQL Server, è necessario aggiungere manualmente le istruzioni BEGIN TRANSACTION in cui si desidera avviare le transazioni.To emulate this behavior on SQL ServerSQL Server, you must add BEGIN TRANSACTION statements manually where you want your transactions to start. In alternativa, è possibile eseguire il comando SET IMPLICIT_TRANSACTIONS ON all'inizio della sessione.Alternatively, you can execute the SET IMPLICIT_TRANSACTIONS ON command at the beginning of your session. SSMA aggiunge automaticamente i SET IMPLICIT_TRANSACTIONS ON durante la conversione subroutine con transazioni autonome.SSMA adds SET IMPLICIT_TRANSACTIONS ON automatically when converting subroutines with autonomous transactions.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Emulare il comportamento di null DB2 nelle clausole ORDER BYEmulate DB2 null behavior in ORDER BY clauses

I valori NULL vengono ordinati in modo diverso in SQL ServerSQL Server e DB2:NULL values are ordered differently in SQL ServerSQL Server and DB2:

  • In SQL ServerSQL Server, NULL i valori sono i valori più bassi in un elenco ordinato.In SQL ServerSQL Server, NULL values are the lowest values in an ordered list. In un elenco crescente, verranno visualizzati per primi i valori NULL.In an ascending list, NULL values will appear first.

  • In DB2, i valori NULL sono i valori più elevati in un elenco ordinato.In DB2, NULL values are the highest values in an ordered list. Per impostazione predefinita, i valori NULL visualizzato per ultimi in un elenco in ordine crescente.By default, NULL values appear last in an ascending-order list.

  • DB2 con le clausole di valori null e i valori null cognome, che consente di modificare la modalità DB2 Ordina i valori null.DB2 has NULLS FIRST and NULLS LAST clauses, which enables you to change how DB2 orders NULLs.

SSMA è possibile emulare DB2 ORDER BY comportamento tramite il controllo dei valori NULL.SSMA can emulate DB2 ORDER BY behavior by checking for NULL values. Quindi innanzitutto gli ordini da valori NULL nell'ordine specificato, quindi viene ordini da altri valori.It then first orders by NULL values in the specified order, and then orders by other values.

  • Se si seleziona , SSMA convertirà l'istruzione di DB2 in modo che emula il comportamento di DB2 ORDER BY.If you select Yes, SSMA will convert the DB2 statement in a way that emulates DB2 ORDER BY behavior.

  • Se si seleziona n, SSMA ignorerà le regole di DB2 e generare un messaggio di errore quando rileva le clausole di valori null e i valori null cognome.If you select No, SSMA will ignore DB2 rules and generate an error message when it encounters the NULLS FIRST and NULLS LAST clauses.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico: NoDefault/Optimistic Mode: No

Modalità completa:Full Mode: Yes

Emulare le eccezioni di conteggio righe in SELECTEmulate row count exceptions in SELECT

Se un'istruzione SELECT con una clausola INTO non restituisce alcuna riga, DB2 genera un'eccezione NO_DATA_FOUND.If a SELECT statement with an INTO clause does not return any rows, DB2 raises a NO_DATA_FOUND exception. Se l'istruzione restituisce due o più righe, viene generato l'eccezione TOO_MANY_ROWS.If the statement returns two or more rows, the TOO_MANY_ROWS exception is raised. L'istruzione convertita in SQL ServerSQL Server non genera un'eccezione se il conteggio delle righe è diverso da uno.The converted statement in SQL ServerSQL Server does not raise any exception if the row count is different from one.

  • Se si seleziona , SSMA aggiunge chiamata a sysdb procedure db_error_exact_one_row_check dopo ogni istruzione SELECT.If you select Yes, SSMA adds call to sysdb procedure db_error_exact_one_row_check after each SELECT statement. Questa procedura emula la NO_DATA_FOUND e TOO_MANY_ROWS le eccezioni.This procedure emulates the NO_DATA_FOUND and TOO_MANY_ROWS exceptions. Questa è l'impostazione predefinita e consente di riprodurre il comportamento di DB2 più vicino possibile.This is the default and it allows reproducing DB2 behavior as close as possible. È necessario selezionare sempre se il codice sorgente ha gestori delle eccezioni che elaborano questi errori.You should always choose Yes if the source code has exception handlers that process these errors. Si noti che se l'istruzione SELECT si verifica all'interno di una funzione definita dall'utente, questo modulo verrà convertito in una stored procedure, poiché l'esecuzione di stored procedure e la generazione di eccezioni non è compatibile con SQL ServerSQL Server contesto di funzione.Note that if the SELECT statement occurs inside a user-defined function, this module will be converted to a stored procedure, because executing stored procedures and raising exceptions is not compatible with SQL ServerSQL Server function context.

  • Se si seleziona n, verranno generata alcuna eccezione.If you select No, no exceptions will be generated. Che può essere utile quando SSMA converte una funzione definita dall'utente e si desidera rimanga una funzione in SQL ServerSQL ServerThat can be useful when SSMA converts a user-defined function and you want it to remain a function in SQL ServerSQL Server

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Genera l'errore per DBMS_SQL. ANALISIGenerate error for DBMS_SQL.PARSE

  • Se si seleziona errore, SSMA genera l'errore di conversione DBMS_SQL. ANALISI.If you select Error, SSMA generate error at the conversion DBMS_SQL.PARSE.

  • Se si seleziona avviso, SSMA Genera avviso per la conversione DBMS_SQL. ANALISI.If you select Warning, SSMA generate warning at the conversion DBMS_SQL.PARSE.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full: erroreDefault/Optimistic/Full Mode: Error

Genera colonna ROWIDGenerate ROWID column

Quando di crea tabelle SSMA SQL ServerSQL Server, è possibile creare una colonna ROWID.When SSMA creates tables in SQL ServerSQL Server, it can create a ROWID column. Quando viene eseguita la migrazione di dati, ogni riga Ottiene un nuovo valore UNIQUEIDENTIFIER generato dalla funzione NEWID ().When data is migrated, each row obtains a new UNIQUEIDENTIFIER value generated by the newid() function.

  • Se si seleziona , la colonna ROWID viene creata in tutte le tabelle e SQL ServerSQL Server genera i GUID quando si inseriscono i valori.If you select Yes, the ROWID column is created on all tables and SQL ServerSQL Server generates GUIDs as you insert values. Scegliere sempre se si prevede di utilizzare il Tester di SSMA.Always choose Yes if you are planning to use the SSMA Tester.

  • Se si seleziona n, ROWID non vengono aggiunte alle tabelle.If you select No, ROWID columns are not added to tables.

  • Aggiungere la colonna ROWID per le tabelle con trigger aggiungere ROWID per le tabelle contenenti i trigger.Add ROWID column for tables with triggers add ROWID for the tables containing triggers.

Avviso

Impostazione predefinita nel caso di SQL Server 2005, SQL Server 2008 e SQL Server 2012 e 2014 colonna aggiungere ROWID per le tabelle con trigger.Default setting in the case of SQL Server 2005 , SQL Server 2008 and SQL Server 2012 and 2014 is Add ROWID column for tables with triggers.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting :

Modalità predefinita/Optimistic: Aggiungi colonna ROWID per le tabelle con triggerDefault/Optimistic Mode: Add ROWID column for tables with triggers

Modalità completa:Full Mode: Yes

Generare un indice univoco sulla colonna ROWIDGenerate unique index on ROWID column

Specifica se SSMA genera colonna indice univoco sulla colonna ROWID generato o non.Specifies whether SSMA generates unique index column on the ROWID generated column or not. Se l'opzione è impostata su "Sì", viene generato l'indice univoco e se è impostato su "NO", l'indice univoco non viene generato sulla colonna ROWID.If the option is set to “YES”, unique index is generated and if it is set to “NO”, unique index is not generated on the ROWID column.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Conversione di moduli localiLocal modules conversion

Definisce il tipo di conversione di DB2 annidati sottoprogramma (dichiarato in autonoma stored procedure o funzione).Defines the type of DB2 nested subprogram (declared in standalone stored procedure or function) conversion.

  • Se si seleziona Inline, le chiamate nidificate sottoprogramma verranno sostituite dal proprio corpo.If you select Inline, the nested subprogram calls will be replaced by its body.

  • Se si seleziona Stored proceduresottoprogramma nidificato verrà convertito in una stored procedure SQL Server e verranno sostituiti relative chiamate effettuate in questa chiamata di procedura.If you select Stored procedures, nested subprogram will be converted to a SQL Server stored procedure, and its calls will be replaced on this procedure call.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full: InlineDefault/Optimistic/Full Mode: Inline

Utilizzo di ISNULL nella concatenazione di stringheUse ISNULL in string concatenation

DB2 e SQL ServerSQL Server restituire risultati diversi quando concatenazioni di stringa includono valori NULL.DB2 and SQL ServerSQL Server return different results when string concatenations include NULL values. DB2 considera il valore NULL come un set di caratteri vuota.DB2 treats the NULL value like an empty character set. SQL ServerSQL ServerRestituisce NULL. returns NULL.

  • Se si seleziona , SSMA sostituisce il carattere di concatenazione di DB2 (|) con il SQL ServerSQL Server carattere concatenazione (+).If you select Yes, SSMA replaces the DB2 concatenation character (||) with the SQL ServerSQL Server concatenation character (+). SSMA controlla inoltre le espressioni su entrambi i lati della concatenazione dei valori NULL.SSMA also checks the expressions on both sides of the concatenation for NULL values.

  • Se si seleziona n, SSMA sostituisce i caratteri di concatenazione, ma non verifica la presenza di valori NULL.If you select No, SSMA replaces the concatenation characters, but does not check for NULL values.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Utilizzo di ISNULL in chiamate di funzione REPLACEUse ISNULL in REPLACE function calls

Istruzione di ISNULL viene utilizzata in chiamate di funzione REPLACE per emulare il comportamento di DB2.ISNULL statement is used in REPLACE function calls to emulate DB2 behavior. Le opzioni seguenti sono presenti per questa impostazione:The following options are present for this setting:

  • YESYES

  • NoNO

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico: NoDefault/Optimistic Mode: No

Modalità completa:Full Mode: Yes

Utilizzo di ISNULL in chiamate di funzione CONCATUse ISNULL in CONCAT function calls

Istruzione di ISNULL viene utilizzata in chiamate di funzione CONCAT per emulare il comportamento di DB2.ISNULL statement is used in CONCAT function calls to emulate DB2 behavior. Le opzioni seguenti sono presenti per questa impostazione:The following options are present for this setting:

  • YESYES

  • NoNO

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico: NoDefault/Optimistic Mode: No

Modalità completa:Full Mode: Yes

Utilizzare la funzione di conversione nativa quando possibileUse native convert function when possible

  • Se si seleziona , SSMA converte TO_CHAR (date, formato) in funzione di conversione nativa quando possibile.If you select Yes, SSMA converts the TO_CHAR(date, format) into native convert function when possible.

  • Se si seleziona n, SSMA converte TO_CHAR (date, formato) in TO_CHAR_DATE o TO_CHAR_DATE_LS (è definito dalle opzioni di "Convertire TO_CHAR(date, format)").If you select No, SSMA converts the TO_CHAR(date, format) into TO_CHAR_DATE or TO_CHAR_DATE_LS (It is defined by “Convert TO_CHAR(date, format)” options).

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

La modalità predefinita/ottimistico:Default/Optimistic Mode: Yes

Modalità completa: NoFull Mode: No

Usare SELECT... FOR XML durante la conversione Seleziona... INTO per una variabile di recordUse SELECT...FOR XML when converting SELECT...INTO for record variable

Specifica se generare un risultato XML impostato quando si seleziona in una variabile del record.Specifies whether to generate an XML result set when you select into a record variable.

  • Se si seleziona , l'istruzione SELECT restituisce XML.If you select Yes, the SELECT statement returns XML.

  • Se si seleziona n, l'istruzione SELECT restituisce un set di risultati.If you select No, the SELECT statement returns a result set.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full: NoDefault/Optimistic/Full Mode: No

RESTITUZIONE di conversione clausolaRETURNING Clause Conversion

Convertire l'OUTPUT clausola RETURNING nell'istruzione DELETEConvert RETURNING clause in DELETE statement to OUTPUT

DB2 fornisce una clausola RETURNING come un modo per ottenere immediatamente valori eliminati.DB2 provides a RETURNING clause as a way to immediately obtain deleted values. SQL ServerSQL Serverfornisce la funzionalità con la clausola OUTPUT. provides that functionality with the OUTPUT clause.

  • Se si seleziona , SSMA convertirà RETURNING clausole nelle istruzioni DELETE per le clausole OUTPUT.If you select Yes, SSMA will convert RETURNING clauses in DELETE statements to OUTPUT clauses. Poiché i trigger in una tabella è possono modificare i valori, il valore restituito potrebbe essere diverso in SQL ServerSQL Server rispetto a quello in DB2.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in DB2.

  • Se si seleziona n, SSMA genererà un'istruzione SELECT prima di istruzioni DELETE per recuperare i valori restituiti.If you select No, SSMA will generate a SELECT statement before DELETE statements to retrieve returned values.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire l'OUTPUT clausola RETURNING nell'istruzione INSERTConvert RETURNING clause in INSERT statement to OUTPUT

DB2 fornisce una clausola RETURNING come un modo per ottenere immediatamente i valori inseriti.DB2 provides a RETURNING clause as a way to immediately obtain inserted values. SQL ServerSQL Serverfornisce la funzionalità con la clausola OUTPUT. provides that functionality with the OUTPUT clause.

  • Se si seleziona , SSMA convertirà una clausola RETURNING in un'istruzione INSERT per l'OUTPUT.If you select Yes, SSMA will convert a RETURNING clause in an INSERT statement to OUTPUT. Poiché i trigger in una tabella è possono modificare i valori, il valore restituito potrebbe essere diverso in SQL ServerSQL Server rispetto a quello in DB2.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in DB2.

  • Se si seleziona n, SSMA emula la funzionalità di DB2 mediante l'inserimento e quindi selezionando valori da una tabella di riferimento.If you select No, SSMA emulates DB2 functionality by inserting and then selecting values from a reference table.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Convertire l'OUTPUT clausola RETURNING nell'istruzione UPDATEConvert RETURNING clause in UPDATE statement to OUTPUT

DB2 fornisce una clausola RETURNING come un modo per ottenere immediatamente i valori aggiornati.DB2 provides a RETURNING clause as a way to immediately obtain updated values. SQL ServerSQL Serverfornisce la funzionalità con la clausola OUTPUT. provides that functionality with the OUTPUT clause.

  • Se si seleziona , SSMA convertirà RETURNING clausole nelle istruzioni UPDATE per le clausole OUTPUT.If you select Yes, SSMA will convert RETURNING clauses in UPDATE statements to OUTPUT clauses. Poiché i trigger in una tabella è possono modificare i valori, il valore restituito potrebbe essere diverso in SQL ServerSQL Server rispetto a quello in DB2.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in DB2.

  • Se si seleziona n, SSMA genera le istruzioni SELECT dopo le istruzioni UPDATE per recuperare i valori di restituzione.If you select No, SSMA will generate SELECT statements after UPDATE statements to retrieve returning values.

Quando si seleziona una modalità di conversione di modalità casella SSMA si applica l'impostazione seguente:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modalità predefinita/ottimistica/Full:Default/Optimistic/Full Mode: Yes

Conversione di sequenzaSequence Conversion

Convertire il generatore di sequenzeConvert Sequence Generator

In DB2, è possibile utilizzare una sequenza per generare identificatori univoci.In DB2, you can use a Sequence to generate unique identifiers.

SSMA è possibile convertire le sequenze per le operazioni seguenti.SSMA can convert Sequences to the following.

  • Utilizzando il generatore di sequenze di SQL Server (questa opzione è disponibile solo durante la conversione a SQL Server 2012 e SQL Server 2014).Using SQL Server sequence generator (this option is only available when converting to SQL Server 2012 and SQL Server 2014).

  • Utilizzando il generatore di sequenze SSMA.Using SSMA sequence generator.

  • Utilizzando l'identità di colonna.Using column identity.

L'opzione predefinita quando si converte in SQL Server 2012 o SQL Server 2014 consiste nell'utilizzare il generatore di sequenze di SQL Server.The default option when converting to SQL Server 2012 or SQL Server 2014 is to use SQL Server sequence generator. Tuttavia, SQL Server 2012 e SQL Server 2014 non supporta ottenere il valore di sequenza corrente (ad esempio quella del metodo currval della sequenza di DB2).However, SQL Server 2012 and SQL Server 2014 does not support obtaining current sequence value (such as that of DB2 sequence currval method). Fare riferimento al sito di blog del team SSMA per indicazioni sulla migrazione metodo currval della sequenza di DB2.Refer to SSMA team blog site for guidance on migrating DB2 sequence currval method.

SSMA fornisce inoltre un'opzione per convertire una sequenza di DB2 emulatore sequenza SSMA.SSMA also provides an option to convert DB2 sequence to SSMA sequence emulator. Questo è l'opzione predefinita quando si converte in SQL Server precedente alla 2012This is the default option when you convert to SQL Server prior to 2012

Infine, è anche possibile convertire sequenza assegnato a una colonna nella tabella di valori identity di SQL Server.Finally, you can also convert sequence assigned to a column in table to SQL Server identity values. È necessario specificare il mapping tra le sequenze a una colonna identity in DB2 tabella schedaYou must specify the mapping between the sequences to an identity column on DB2 Table tab

Convertire CURRVAL all'esterno di triggerConvert CURRVAL outside triggers

Visibile solo quando il generatore di sequenza convertire è impostato su utilizzando l'identità di colonna.Visible only when the Convert Sequence Generator is set to using column identity. Poiché le sequenze di DB2 sono oggetti distinti dalle tabelle, usano le sequenze di molte tabelle di utilizzano un trigger per generare e inserire un nuovo valore di sequenza.Because DB2 Sequences are objects separate from tables, many tables that use Sequences use a trigger to generate and insert a new sequence value. SSMA queste istruzioni come commento o li contrassegna come errori quando il commento fuori genererebbero errori.SSMA comments out these statements, or marks them as errors when the commenting out would generate errors.

  • Se si seleziona , SSMA verrà contrassegnati tutti i riferimenti ai trigger convertito di fuori sequenza CURRVAL con un messaggio di avviso.If you select Yes, SSMA will mark all references to outside triggers on the converted sequence CURRVAL with a warning.

  • Se si seleziona n, SSMA verrà contrassegnati tutti i riferimenti ai trigger convertito di fuori sequenza CURRVAL con un errore.If you select No, SSMA will mark all references to outside triggers on the converted sequence CURRVAL with an error.

Vedere ancheSee Also

Riferimento all'interfaccia utente ( DB2ToSQL )User Interface Reference (DB2ToSQL)