Configurações do projeto (conversão) (OracleToSQL)Project Settings (Conversion) (OracleToSQL)

A página de conversão do configurações do projeto caixa de diálogo contém configurações que personalizam como SSMA converte a sintaxe do Oracle para SQL ServerSQL Server sintaxe.The Conversion page of the Project Settings dialog box contains settings that customize how SSMA converts Oracle syntax to SQL ServerSQL Server syntax.

O painel de conversão está disponível na configurações do projeto e configurações do projeto padrão caixas de diálogo:The Conversion pane is available in the Project Settings and Default Project Settings dialog boxes:

  • Para especificar configurações para todos os projetos do SSMA, na ferramentas menu, clique em configurações do projeto padrão, selecione o tipo de projeto de migração para o qual as configurações são necessárias para ser exibida ou alterada de Versão de destino de migração lista suspensa e, em seguida, clique em gerais na parte inferior do painel esquerdo e, em seguida, clique conversão.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.

  • Para especificar configurações para o projeto atual, no ferramentas menu, clique em configurações do projeto, em seguida, clique em geral na parte inferior do painel esquerdo e, em seguida, clique em Conversão.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.

Mensagens de conversãoConversion Messages

TermoTerm DefiniçãoDefinition
Gerar mensagens sobre problemas aplicadosGenerate messages about issues applied Especifica se o SSMA gera mensagens informativas durante a conversão, exibe-os no painel de saída e adiciona-os no código convertido.Specifies whether SSMA generates informational messages during conversion, displays them in the Output pane, and adds them to the converted code.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: NãoDefault/Optimistic Mode: No

Modo completo: NãoFull Mode: No

Opções diversasMiscellaneous Options

TermoTerm DefiniçãoDefinition
Expressões de ROWNUM conversão como inteirosCast ROWNUM expressions as integers Quando o SSMA converte expressões ROWNUM, ele converte a expressão em uma cláusula TOP, seguida pela expressão.When SSMA converts ROWNUM expressions, it converts the expression into a TOP clause, followed by the expression. O exemplo a seguir mostra ROWNUM em uma instrução DELETE do Oracle:The following example shows ROWNUM in an Oracle DELETE statement:

DELETE FROM Table1

WHERE ROWNUM < expression and Field1 >= 2

O exemplo a seguir mostra a resultante Transact-SQLTransact-SQL:The following example shows the resulting Transact-SQLTransact-SQL:

DELETE TOP (expression-1)

FROM Table1

WHERE Field1>=2

Parte superior requer que a expressão de cláusulas TOP é avaliada como um inteiro.The TOP requires that the TOP clauses expression evaluates to an integer. Se o inteiro for negativo, a instrução produzirá um erro.If the integer is negative, the statement will produce an error.

Se você selecionar Sim, SSMA converte a expressão como um número inteiro.If you select Yes, SSMA casts the expression as an integer.

Se você selecionar não, SSMA marcará todas as expressões de não inteiro como um erro no código convertido.If you select No, SSMA will mark all non-integer expressions as an error in the converted code.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/completo: NãoDefault/Full Mode: No

Modo otimista: SimOptimistic Mode: Yes
Mapeamento de esquema padrãoDefault Schema Mapping Essa configuração especifica como os esquemas Oracle são mapeadas para esquemas SQL Server.This setting specifies how Oracle schemas are mapped to SQL Server schemas. Duas opções estão disponíveis nesta configuração:Two options are available in this setting:

Esquema de banco de dados: Nesse esquema do Oracle de modo 'sch1' será mapeado por padrão ao esquema do SQL Server 'dbo' no banco de dados do SQL Server 'sch1'.Schema to database: In this mode Oracle schema 'sch1' will be mapped by default to 'dbo' SQL Server schema in SQL Server database 'sch1'.

Esquema ao esquema: nesse modo Oracle esquema 'sch1' será mapeada por padrão ao esquema do SQL Server 'sch1' no banco de dados do SQL Server padrão fornecido na caixa de diálogo de conexão.Schema to schema: In this mode Oracle schema 'sch1' will be mapped by default to 'sch1' SQL Server schema in default SQL Server database provided in the connection dialog.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: Esquema de banco de dadosDefault/Optimistic/Full Mode: Schema to database
Maneiras de conversão de instrução MERGEConversion ways of MERGE statement Se você selecionar usando INSERT, UPDATE, DELETE instrução, SSMA converte a instrução de FUSÃO em Inserir, atualizar e excluir instruções.If you select Using INSERT, UPDATE, DELETE statement, SSMA converts MERGER statement into INSERT, UPDATE, DELETE statements.

Se você selecionar instrução usando MERGE, o SSMA converte a instrução de FUSÃO em instrução MERGE em SQL ServerSQL Server.If you select Using MERGE statement, SSMA converts MERGER statement into MERGE statement in SQL ServerSQL Server.

Observação: Essa opção de configuração do projeto está disponível apenas no SQL ServerSQL Server 2008, SQL ServerSQL Server 2012, SQL ServerSQL Server 2014.Note: This project setting option is available only in SQL ServerSQL Server 2008, SQL ServerSQL Server 2012, SQL ServerSQL Server 2014.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: Usando a instrução MERGEDefault/Optimistic/Full Mode: Using MERGE statement
Converter chamadas para subprogramas que usam argumentos padrãoConvert calls to subprograms that use default arguments SQL ServerSQL Server funções não dão suporte a omissão de parâmetros na chamada de função.functions do not support the omission of parameters in the function call. Além disso, SQL ServerSQL Server procedimentos e funções não têm suporte para expressões como valores de parâmetro padrão.Also, SQL ServerSQL Server functions and procedures do not support expressions as default parameter values.

Se você selecionar Yes e uma chamada de função omite parâmetros, o SSMA para inserir a palavra-chave padrão na função e chamada na posição correta.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. Em seguida, ele marcará a chamada com um aviso.Then, it will mark the call with a warning.

Se você selecionar não, SSMA irá marcar as chamadas de função como erros.If you select No, SSMA will mark the function calls as errors.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter função COUNT para COUNT_BIGConvert COUNT function to COUNT_BIG Se suas funções de contagem provavelmente retornar valores maiores que 2.147.483.647, que é 231-1, você deve converter as funções em 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 você selecionar Sim, SSMA converterá todos os usos da contagem de COUNT_BIG.If you select Yes, SSMA will convert all uses of COUNT to COUNT_BIG.

Se você selecionar não, as funções permanecerão como contagem.If you select No, the functions will remain as COUNT. SQL ServerSQL Server retornará um erro se a função retorna um valor maior que 231-1.will return an error if the function returns a value larger than 231-1.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/completo: SimDefault/Full Mode: Yes

Modo otimista: NãoOptimistic Mode: No
Converter instrução FORALL WHILE instruçãoConvert FORALL statement to WHILE statement Define como o SSMA tratará FORALL loops em elementos de coleção de PL/SQL.Defines how SSMA will treat FORALL loops on PL/SQL collection elements.

Se você selecionar Sim, SSMA cria um loop WHILE no qual os elementos da coleção são recuperados individualmente.If you select Yes, SSMA creates a WHILE loop where collection elements are retrieved one by one.

Se você selecionar não, SSMA gera um conjunto de linhas da coleção usando o método () de nós e usa-o como uma única tabela.If you select No, SSMA generates a rowset from the collection using nodes( ) method and uses it as a single table. Isso é mais eficiente, mas torna o código de saída menos legível.This is more efficient, but makes the output code less readable.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: NãoDefault/Optimistic Mode: No

Modo completo: SimFull Mode: Yes
Chaves estrangeiras de Convert com a ação referencial SET NULL na coluna é NOT NULLConvert foreign keys with SET NULL referential action on column that is NOT NULL Oracle permite a criação de restrições de chave estrangeira, onde uma ação SET NULL não pôde, possivelmente, ser executada porque os valores nulos não são permitidos na coluna referenciada.Oracle 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 Server não permite essa configuração de chave estrangeira.does not allow such foreign key configuration.

Se você selecionar Yes, o SSMA irá gerar ações referenciais como no Oracle, mas você precisará fazer alterações manuais antes de carregar a restrição SQL ServerSQL Server.If you select Yes, SSMA will generate referential actions as in Oracle, but you will need to make manual changes before loading the constraint to SQL ServerSQL Server. Por exemplo, você pode escolher NO ACTION, em vez de SET NULL.For example, you can choose NO ACTION instead of SET NULL.

Se você selecionar não, a restrição será marcada como um erro.If you select No, the constraint will be marked as an error.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: NãoDefault/Optimistic/Full Mode: No
Converter chamadas de função para chamadas de procedimentoConvert function calls to procedure calls Algumas funções do Oracle são definidas como transações autônomas ou conter instruções que não é válidas em SQL ServerSQL Server.Some Oracle functions are defined as autonomous transactions or contain statements that would not be valid in SQL ServerSQL Server. Nesses casos, o SSMA cria um procedimento e uma função que é um wrapper para o procedimento.In these cases, SSMA creates a procedure and a function that is a wrapper for the procedure. A função convertida chama o procedimento de implementação.The converted function calls the implementing procedure.

O SSMA pode converter chamadas para a função de wrapper em chamadas para o procedimento.SSMA can convert calls to the wrapper function into calls to the procedure. Isso cria um código mais legível e pode melhorar o desempenho.This creates more readable code and can improve performance. No entanto, o contexto não sempre que ele; Por exemplo, você não pode substituir uma chamada de função na lista de seleção com uma chamada de procedimento.However, the context does not always allow it; for example, you cannot replace a function call in SELECT list with a procedure call. O SSMA tem algumas opções para abranger os casos comuns:SSMA has a few options to cover the common cases:

Se você selecionar sempre, SSMA tenta converter as chamadas de função de wrapper em chamadas de procedimento.If you select Always, SSMA attempts to convert wrapper function calls into procedure calls. Se o contexto atual não permite essa conversão, uma mensagem de erro será produzida.If the current context does not allow this conversion, an error message is produced. Dessa forma, nenhuma chamada de função é deixada no código gerado.This way, no function calls are left in the generated code.

Se você selecionar quando possível, SSMA faz uma movimentação para chamadas de procedimento somente se a função tem parâmetros de saída.If you select When possible, SSMA makes a move to procedure calls only if the function has output parameters. Quando a movimentação não é possível, o atributo de saída do parâmetro é removido.When the move is not possible, parameter's output attribute is removed. Em todos os outros casos, o SSMA deixa chamadas de função.In all other cases SSMA leaves function calls.

Se você selecionar nunca, SSMA deixará todas as chamadas de função como chamadas de função.If you select Never, SSMA will leave all function calls as function calls. Às vezes, essa opção pode ser inaceitável devido a motivos de desempenho.Sometimes this choice may be unacceptable because of performance reasons.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: Quando possívelDefault/Optimistic/Full Mode: When possible
Converter instruções de bloqueio de tabelaConvert LOCK TABLE statements O SSMA pode converter a muitas instruções de bloqueio de tabela em dicas de tabela.SSMA can convert many LOCK TABLE statements into table hints. O SSMA não é possível converter qualquer instrução de bloqueio de tabela que contêm a partição, SUBPARTIÇÃO, @dblinke cláusulas NOWAIT e o marcará tais instruções com mensagens de erro de conversão.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 você selecionar Sim, SSMA irá converter instruções de bloqueio de tabela com suporte para dicas de tabela.If you select Yes, SSMA will convert supported LOCK TABLE statements into table hints.

Se você selecionar não, SSMA marcará todas as instruções de bloqueio de tabela com mensagens de erro de conversão.If you select No, SSMA will mark all LOCK TABLE statements with conversion error messages.

A tabela a seguir mostra como o SSMA converte os modos de bloqueio do Oracle:The following table shows how SSMA converts Oracle lock modes:

Modo de bloqueio do OracleOracle Lock Mode

COMPARTILHAMENTO DE LINHAROW SHARE

EXCLUSIVO DE LINHAROW EXCLUSIVE

ATUALIZAÇÃO DE COMPARTILHAMENTO = COMPARTILHAMENTO DE LINHASHARE UPDATE = ROW SHARE

COMPARTILHARSHARE

COMPARTILHARSHARE

EXCLUSIVOEXCLUSIVE

Dica de tabela do SQL ServerSQL Server Table Hint

ROWLOCK, HOLDLOCKROWLOCK, HOLDLOCK

ROWLOCK, XLOCK, HOLDLOCKROWLOCK, XLOCK, HOLDLOCK

ROWLOCK, HOLDLOCKROWLOCK, HOLDLOCK

TABLOCK, HOLDLOCKTABLOCK, HOLDLOCK

TABLOCK, XLOCK, HOLDLOCKTABLOCK, XLOCK, HOLDLOCK

TABLOCKX, HOLDLOCKTABLOCKX, HOLDLOCK

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter instruções FOR aberto para parâmetros de REF CURSOR OUTConvert OPEN-FOR statements for REF CURSOR OUT parameters No Oracle, a instrução FOR aberto pode ser usada para retornar um conjunto de resultados para uma subprograma-OUT de parâmetro de tipo REF CURSOR.In Oracle, the OPEN-FOR statement can be used to return a result set to a subprogram's OUT parameter of type REF CURSOR. No SQL ServerSQL Server, procedimentos armazenados diretamente retornam os resultados de instruções SELECT.In SQL ServerSQL Server, stored procedures directly return the results of SELECT statements.

O SSMA pode converter a muitas instruções FOR aberto em instruções SELECT.SSMA can convert many OPEN-FOR statements into SELECT statements.

Se você selecionar Sim, SSMA converte a instrução FOR aberto em uma instrução SELECT, que retorna o conjunto de resultados para o cliente.If you select Yes, SSMA converts the OPEN-FOR statement into a SELECT statement, which returns the result set to the client.

Se você selecionar não, SSMA gerará uma mensagem de erro no código convertido e no painel de saída.If you select No, SSMA will generate an error message in the converted code and in the Output pane.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter o registro como uma lista de variáveis separaConvert record as a list of separates variables O SSMA pode converter registros do Oracle em separa variáveis e em variáveis XML com a estrutura específica.SSMA can convert Oracle records into separates variables and into XML variables with specific structure.

Se você selecionar Sim, SSMA converte o registro em uma lista de variáveis separa quando possível.If you select Yes, SSMA converts the record into a list of separates variables when possible.

Se você selecionar não, SSMA converte o registro em variáveis XML com a estrutura específica.If you select No, SSMA converts the record into XML variables with specific structure.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter SUBSTR chamadas de função para chamadas de função de subcadeia de caracteresConvert SUBSTR function calls to SUBSTRING function calls O SSMA pode converter Oracle SUBSTR chamadas de função em SQL ServerSQL Server subcadeia de caracteres chamadas de função, dependendo do número de parâmetros.SSMA can convert Oracle SUBSTR function calls into SQL ServerSQL Server substring function calls, depending on the number of parameters. Se o SSMA não é possível converter uma chamada de função SUBSTR ou não há suporte para o número de parâmetros, SSMA irá converter a chamada de função SUBSTR em uma chamada de função personalizada do SSMA.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 você selecionar Yes, SSMA converterá as chamadas de função SUBSTR que usam três parâmetros na SQL ServerSQL Server subcadeia de caracteres.If you select Yes, SSMA will convert SUBSTR function calls that use three parameters into SQL ServerSQL Server substring. Outras funções SUBSTR serão convertidas para chamar a função personalizada do SSMA.Other SUBSTR functions will be converted to call the custom SSMA function.

Se você selecionar não, SSMA irá converter a chamada de função SUBSTR em uma chamada de função personalizada do SSMA.If you select No, SSMA will convert the SUBSTR function call into a custom SSMA function call.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: SimDefault/Optimistic Mode: Yes

Modo completo: NãoFull Mode: No
Converter subtiposConvert subtypes O SSMA pode converter os subtipos de PL/SQL de duas maneiras:SSMA can convert PL/SQL subtypes in two ways:

Se você selecionar Sim, o SSMA criará SQL ServerSQL Server definida pelo usuário de um subtipo de tipo e usá-lo para cada variável desse subtipo.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 você selecionar não, SSMA irá substituir todas as declarações de código-fonte do subtipo com o tipo subjacente e converter o resultado como de costume.If you select No, SSMA will substitute all source declarations of the subtype with the underlying type and convert the result as usual. Nesse caso, não há tipos adicionais são criados no SQL ServerSQL ServerIn this case, no additional types are created in SQL ServerSQL Server

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: NãoDefault/Optimistic/Full Mode: No
Converter sinônimosConvert synonyms Sinônimos para os seguintes objetos Oracle podem ser migrados para SQL ServerSQL Server:Synonyms for the following Oracle objects can be migrated to SQL ServerSQL Server:

Tabelas e tabelas de objetoTables and object tables

Modos de exibição e objetoViews and object views

Procedimentos armazenados e funçõesStored procedures and functions

Exibições materializadasMaterialized views

Sinônimos para o seguinte objetos Oracle podem ser substituídos por referências diretas aos objetos:Synonyms for the following Oracle objects can be replaced by direct references to the objects:

SequênciasSequences

PackagesPackages

Objetos de esquema de classe de JavaJava class schema objects

Tipos de objeto definido pelo usuárioUser-defined object types

Outros sinônimos não podem ser migrados.Other synonyms cannot be migrated. O SSMA irá gerar mensagens de erro para o sinônimo e todas as referências que usam o sinônimo.SSMA will generate error messages for the synonym and all references that use the synonym.

Se você selecionar Yes, o SSMA criará SQL ServerSQL Server sinônimos e referências de objeto de acordo com as listas anteriores.If you select Yes, SSMA will create SQL ServerSQL Server synonyms and direct object references according to the previous lists.

Se você selecionar não, SSMA criará referências de objeto para todos os sinônimos listados aqui.If you select No, SSMA will create direct object references for all synonyms listed here.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter TO_CHAR (data, formato)Convert TO_CHAR(date, format) O SSMA pode converter TO_CHAR(date, format) Oracle em procedimentos do banco de dados sysdb.SSMA can convert Oracle TO_CHAR(date, format) into procedures from sysdb database.

Se você selecionar função TO_CHAR_DATE usando, SSMA converte o TO_CHAR (data, formato) em TO_CHAR_DATE função usando do idioma inglês para conversão.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 você selecionar função usando TO_CHAR_DATE_LS (NLS cuidado) , SSMA converte o TO_CHAR (data, formato) em TO_CHAR_DATE_LS função usando do idioma da sessão para conversãoIf 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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: Usando a função TO_CHAR_DATEDefault/Optimistic Mode: Using TO_CHAR_DATE function

Modo completo: Usando a função TO_CHAR_DATE_LS (NLS cuidado)Full Mode: Using TO_CHAR_DATE_LS function (NLS care)
Converter instruções de processamento de transaçãoConvert transaction processing statements O SSMA pode converter as instruções de processamento de transação do Oracle:SSMA can convert Oracle transaction processing statements:

Se você selecionar Yes, o SSMA converte instruções de processamento de transação do Oracle para SQL ServerSQL Server instruções.If you select Yes, SSMA converts Oracle transaction processing statements to SQL ServerSQL Server statements.

Se você selecionar não, SSMA marca as instruções, como erros de conversão de processamento de transações.If you select No, SSMA marks the transaction processing statements as conversion errors.

Observação: Oracle abre implicitamente a transações.Note: Oracle opens transactions implicitly. Para emular esse comportamento na SQL ServerSQL Server, você deve adicionar instruções BEGIN TRANSACTION manualmente onde você deseja que suas transações para iniciar.To emulate this behavior on SQL ServerSQL Server, you must add BEGIN TRANSACTION statements manually where you want your transactions to start. Como alternativa, você pode executar o comando SET IMPLICIT_TRANSACTIONS ON no início de sua sessão.Alternatively, you can execute the SET IMPLICIT_TRANSACTIONS ON command at the beginning of your session. O SSMA adiciona automaticamente SET IMPLICIT_TRANSACTIONS ON durante a conversão de sub-rotinas com transações autônomas.SSMA adds SET IMPLICIT_TRANSACTIONS ON automatically when converting subroutines with autonomous transactions.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Emular o comportamento do nulo Oracle nas cláusulas ORDER BYEmulate Oracle null behavior in ORDER BY clauses Valores nulos são ordenados de forma diferente em SQL ServerSQL Server e Oracle:NULL values are ordered differently in SQL ServerSQL Server and Oracle:

No SQL ServerSQL Server, nulo valores são os valores mais baixos em uma lista ordenada.In SQL ServerSQL Server, NULL values are the lowest values in an ordered list. Em uma lista em ordem crescente, valores NULL aparecerão primeiros.In an ascending list, NULL values will appear first.

No Oracle, valores NULL são os valores mais altos em uma lista ordenada.In Oracle, NULL values are the highest values in an ordered list. Por padrão, valores NULL aparecem por últimos em uma lista em ordem crescente.By default, NULL values appear last in an ascending-order list.

A Oracle tem cláusulas valores nulos e valores nulos sobrenome, que permite que você altere como o Oracle ordena os valores nulos.Oracle has NULLS FIRST and NULLS LAST clauses, which enables you to change how Oracle orders NULLs.

O SSMA pode emular o comportamento de Oracle ORDER BY, verificando os valores NULL.SSMA can emulate Oracle ORDER BY behavior by checking for NULL values. Ele primeiro ordena por valores NULL, na ordem especificada e, em seguida, pedidos por outros valores.It then first orders by NULL values in the specified order, and then orders by other values.

Se você selecionar Sim, SSMA converterá a instrução do Oracle de uma maneira que emula o comportamento do Oracle ORDER BY.If you select Yes, SSMA will convert the Oracle statement in a way that emulates Oracle ORDER BY behavior.

Se você selecionar não, SSMA vai ignorar as regras do Oracle e gerar uma mensagem de erro quando ele encontra as cláusulas de valores nulos e valores nulos sobrenome.If you select No, SSMA will ignore Oracle rules and generate an error message when it encounters the NULLS FIRST and NULLS LAST clauses.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: NãoDefault/Optimistic Mode: No

Modo completo: SimFull Mode: Yes
Emular as exceções de contagem de linha em SELECTEmulate row count exceptions in SELECT Se uma instrução SELECT com uma cláusula INTO não retornar nenhuma linha, o Oracle gera uma exceção de NO_DATA_FOUND.If a SELECT statement with an INTO clause does not return any rows, Oracle raises a NO_DATA_FOUND exception. Se a instrução retorna duas ou mais linhas, a exceção TOO_MANY_ROWS será gerada.If the statement returns two or more rows, the TOO_MANY_ROWS exception is raised. A instrução convertida em SQL ServerSQL Server não gera qualquer exceção se a contagem de linhas é diferente de uma.The converted statement in SQL ServerSQL Server does not raise any exception if the row count is different from one.

Se você selecionar Sim, SSMA adiciona a chamada para sysdb procedimento db_error_exact_one_row_check após cada instrução SELECT.If you select Yes, SSMA adds call to sysdb procedure db_error_exact_one_row_check after each SELECT statement. Esse procedimento emula as exceções NO_DATA_FOUND e TOO_MANY_ROWS.This procedure emulates the NO_DATA_FOUND and TOO_MANY_ROWS exceptions. Esse é o padrão e permite reproduzir Oracle comportamento mais próximo possível.This is the default and it allows reproducing Oracle behavior as close as possible. Você sempre deve escolher Sim se o código-fonte tem manipuladores de exceção que processam esses erros.You should always choose Yes if the source code has exception handlers that process these errors. Observe que, se a instrução SELECT ocorrer dentro de uma função definida pelo usuário, esse módulo será convertido em um procedimento armazenado, porque a execução de procedimentos armazenados e gerando exceções não é compatível com SQL ServerSQL Server contexto de função.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 você selecionar não, nenhuma exceção será gerada.If you select No, no exceptions will be generated. Isso pode ser útil quando SSMA converte uma função definida pelo usuário e você deseja que ele permaneça uma função em 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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Gere erro para DBMS_SQL. ANALISARGenerate error for DBMS_SQL.PARSE Se você selecionar erro, SSMA gerar erro na conversão DBMS_SQL. ANALISE.If you select Error, SSMA generate error at the conversion DBMS_SQL.PARSE.

Se você selecionar aviso, SSMA Gerar aviso na conversão DBMS_SQL. ANALISE.If you select Warning, SSMA generate warning at the conversion DBMS_SQL.PARSE.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: ErroDefault/Optimistic/Full Mode: Error
Gerar coluna ROWIDGenerate ROWID column Quando o SSMA cria tabelas no SQL ServerSQL Server, ele pode criar uma coluna ROWID.When SSMA creates tables in SQL ServerSQL Server, it can create a ROWID column. Quando os dados são migrados, cada linha obtém um novo valor de identificador exclusivo gerado pela função NEWID ().When data is migrated, each row obtains a new UNIQUEIDENTIFIER value generated by the newid() function.

Se você selecionar Yes, a coluna ROWID é criada em todas as tabelas e SQL ServerSQL Server gera GUIDs assim que você inserir valores.If you select Yes, the ROWID column is created on all tables and SQL ServerSQL Server generates GUIDs as you insert values. Escolha sempre Sim se você estiver planejando usar o testador SSMA.Always choose Yes if you are planning to use the SSMA Tester.

Se você selecionar não, colunas ROWID não são adicionadas às tabelas.If you select No, ROWID columns are not added to tables.

Adicionar coluna ROWID para tabelas com disparadores adicionar ROWID para as tabelas que contêm os gatilhos.Add ROWID column for tables with triggers add ROWID for the tables containing triggers.

Observação: É a configuração padrão no caso do SQL Server 2005, SQL Server 2008 e SQL Server 2012 e 2014 coluna adicionar ROWID para tabelas com disparadores.Note: 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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting :

Modo padrão/otimista: Adicionar coluna ROWID para tabelas com disparadoresDefault/Optimistic Mode: Add ROWID column for tables with triggers

Modo completo: SimFull Mode: Yes
Gerar um índice exclusivo na coluna ROWIDGenerate unique index on ROWID column Especifica se o SSMA gera a coluna de índice exclusivo na coluna ROWID gerado ou não.Specifies whether SSMA generates unique index column on the ROWID generated column or not. Se a opção for definida como "Sim", o índice exclusivo é gerado e se ele for definido como "Não", o índice exclusivo não é gerado na coluna de 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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Conversão de módulos locaisLocal modules conversion Define o tipo de conversão do oracle aninhado subprograma (declarada em autônomo armazenado procedimento ou função).Defines the type of oracle nested subprogram (declared in standalone stored procedure or function) conversion.

Se você selecionar embutido, as chamadas aninhadas subprograma serão substituídas pelo seu corpo.If you select Inline, the nested subprogram calls will be replaced by its body.

Se você selecionar procedimentos armazenadossubprograma aninhada será convertida em um procedimento armazenado do SQL Server e suas chamadas serão substituídas nessa chamada de procedimento.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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: EmbutidoDefault/Optimistic/Full Mode: Inline
Use ISNULL em concatenação de cadeia de caracteresUse ISNULL in string concatenation Oracle e SQL ServerSQL Server retornar resultados diferentes quando concatenações de cadeia de caracteres incluem valores nulos.Oracle and SQL ServerSQL Server return different results when string concatenations include NULL values. O Oracle trata o valor nulo como um conjunto de caracteres vazia.Oracle treats the NULL value like an empty character set. SQL ServerSQL Server retorna NULL.returns NULL.

Se você selecionar Sim, o SSMA substitui o caractere de concatenação do Oracle (||) com o SQL ServerSQL Server caracteres de concatenação (+).If you select Yes, SSMA replaces the Oracle concatenation character (||) with the SQL ServerSQL Server concatenation character (+). O SSMA também verifica as expressões em ambos os lados da concatenação de valores nulos.SSMA also checks the expressions on both sides of the concatenation for NULL values.

Se você selecionar não, SSMA substitui os caracteres de concatenação, mas não verifica a existência de valores nulos.If you select No, SSMA replaces the concatenation characters, but does not check for NULL values.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Use ISNULL em chamadas de função REPLACEUse ISNULL in REPLACE function calls Instrução de ISNULL é usada em chamadas de função REPLACE para emular o comportamento do Oracle.ISNULL statement is used in REPLACE function calls to emulate Oracle behavior. As opções a seguir estão presentes para essa configuração:The following options are present for this setting:

SIMYES

NãoNO

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: NãoDefault/Optimistic Mode: No

Modo completo: SimFull Mode: Yes
Use ISNULL em chamadas de função CONCATUse ISNULL in CONCAT function calls Instrução de ISNULL é usada em chamadas de função CONCAT para emular o comportamento do Oracle.ISNULL statement is used in CONCAT function calls to emulate Oracle behavior. As opções a seguir estão presentes para essa configuração:The following options are present for this setting:

SIMYES

NãoNO

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: NãoDefault/Optimistic Mode: No

Modo completo: SimFull Mode: Yes
Use a função convert nativo quando possívelUse native convert function when possible Se você selecionar Sim, SSMA converte o TO_CHAR (data, formato) em função de conversão nativo quando possível.If you select Yes, SSMA converts the TO_CHAR(date, format) into native convert function when possible.

Se você selecionar não, SSMA converte o TO_CHAR (data, formato) em TO_CHAR_DATE ou TO_CHAR_DATE_LS (ele é definido pelas opções "Converter 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 você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista: SimDefault/Optimistic Mode: Yes

Modo completo: NãoFull Mode: No
Use SELECT... FOR XML ao converter selecione... INTO para a variável de registroUse SELECT...FOR XML when converting SELECT...INTO for record variable Especifica se deve gerar um resultado XML definido quando você seleciona em uma variável de registro.Specifies whether to generate an XML result set when you select into a record variable.

Se você selecionar Sim, a instrução SELECT retorna o XML.If you select Yes, the SELECT statement returns XML.

Se você selecionar não, a instrução SELECT retorna um conjunto de resultados.If you select No, the SELECT statement returns a result set.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: NãoDefault/Optimistic/Full Mode: No

RETORNANDO a conversão da cláusulaRETURNING Clause Conversion

TermoTerm DefiniçãoDefinition
Converter a cláusula RETURNING na instrução DELETE para saídaConvert RETURNING clause in DELETE statement to OUTPUT A Oracle oferece uma cláusula RETURNING como uma maneira de obter imediatamente valores excluídos.Oracle provides a RETURNING clause as a way to immediately obtain deleted values. SQL ServerSQL Server fornece essa funcionalidade com a cláusula OUTPUT.provides that functionality with the OUTPUT clause.

Se você selecionar Sim, SSMA converterá RETORNANDO cláusulas em instruções DELETE em cláusulas de saída.If you select Yes, SSMA will convert RETURNING clauses in DELETE statements to OUTPUT clauses. Como gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente em SQL ServerSQL Server que era no Oracle.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in Oracle.

Se você selecionar não, SSMA irá gerar uma instrução SELECT antes de instruções DELETE para recuperar valores retornados.If you select No, SSMA will generate a SELECT statement before DELETE statements to retrieve returned values.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter a cláusula RETURNING na instrução INSERT para saídaConvert RETURNING clause in INSERT statement to OUTPUT A Oracle oferece uma cláusula RETURNING como uma maneira de obter imediatamente os valores inseridos.Oracle provides a RETURNING clause as a way to immediately obtain inserted values. SQL ServerSQL Server fornece essa funcionalidade com a cláusula OUTPUT.provides that functionality with the OUTPUT clause.

Se você selecionar Sim, SSMA converterá uma cláusula RETURNING em uma instrução INSERT para saída.If you select Yes, SSMA will convert a RETURNING clause in an INSERT statement to OUTPUT. Como gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente em SQL ServerSQL Server que era no Oracle.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in Oracle.

Se você selecionar não, SSMA emula a funcionalidade do Oracle, inserindo e, em seguida, selecionando valores de uma tabela de referência.If you select No, SSMA emulates Oracle functionality by inserting and then selecting values from a reference table.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes
Converter a cláusula RETURNING na instrução UPDATE para saídaConvert RETURNING clause in UPDATE statement to OUTPUT A Oracle oferece uma cláusula RETURNING como uma maneira de obter imediatamente os valores atualizados.Oracle provides a RETURNING clause as a way to immediately obtain updated values. SQL ServerSQL Server fornece essa funcionalidade com a cláusula OUTPUT.provides that functionality with the OUTPUT clause.

Se você selecionar Sim, SSMA converterá RETORNANDO cláusulas em instruções UPDATE em cláusulas de saída.If you select Yes, SSMA will convert RETURNING clauses in UPDATE statements to OUTPUT clauses. Como gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente em SQL ServerSQL Server que era no Oracle.Because triggers on a table can change values, the returned value might be different in SQL ServerSQL Server than it was in Oracle.

Se você selecionar não, SSMA gerará instruções SELECT após instruções UPDATE para recuperar valores de retornados.If you select No, SSMA will generate SELECT statements after UPDATE statements to retrieve returning values.

Quando você seleciona um modo de conversão na modo caixa, o SSMA aplica-se a configuração a seguir:When you select a conversion mode in the Mode box, SSMA applies the following setting:

Modo padrão/otimista/completo: SimDefault/Optimistic/Full Mode: Yes

Conversão de sequênciaSequence Conversion

TermoTerm DefiniçãoDefinition
Converter o gerador de sequênciaConvert Sequence Generator No Oracle, você pode usar uma sequência para gerar identificadores exclusivos.In Oracle, you can use a Sequence to generate unique identifiers.

O SSMA pode converter sequências ao seguinte.SSMA can convert Sequences to the following.

Usando o gerador de sequência do SQL Server (essa opção só está disponível ao converter para o 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).

Usando o gerador de sequência do SSMA.Using SSMA sequence generator.

Usando a identidade de coluna.Using column identity.

A opção padrão ao converter para o SQL Server 2012 ou SQL Server 2014 é usar o gerador de sequência do SQL Server.The default option when converting to SQL Server 2012 or SQL Server 2014 is to use SQL Server sequence generator. No entanto, o SQL Server 2012 e SQL Server 2014 não oferece suporte a obtenção de valor de sequência atual (como o que um método de currval de sequência do Oracle).However, SQL Server 2012 and SQL Server 2014 does not support obtaining current sequence value (such as that of Oracle sequence currval method). Consulte o site de blog de equipe do SSMA para obter orientação sobre o método de currval de sequência Oracle migrando.Refer to SSMA team blog site for guidance on migrating Oracle sequence currval method.

O SSMA também fornece uma opção para converter a sequência do Oracle para o emulador de sequência do SSMA.SSMA also provides an option to convert Oracle sequence to SSMA sequence emulator. Isso é a opção padrão quando você converte em SQL Server antes de 2012This is the default option when you convert to SQL Server prior to 2012

Por fim, você também pode converter sequência atribuída a uma coluna na tabela para valores de identidade do SQL Server.Finally, you can also convert sequence assigned to a column in table to SQL Server identity values. Você deve especificar o mapeamento entre as sequências para uma coluna de identidade no Oracle tabela guiaYou must specify the mapping between the sequences to an identity column on Oracle Table tab
Converter CURRVAL fora gatilhosConvert CURRVAL outside triggers Visível somente quando o gerador de sequência converter é definido como usando a identidade de coluna.Visible only when the Convert Sequence Generator is set to using column identity. Como sequências da Oracle são objetos separados de tabelas, muitas tabelas do que usam sequências de usam um gatilho para gerar e inserir um novo valor de sequência.Because Oracle Sequences are objects separate from tables, many tables that use Sequences use a trigger to generate and insert a new sequence value. SSMA essas instruções como comentário ou marcando-as como erros quando o fora de comentário gerarem erros.SSMA comments out these statements, or marks them as errors when the commenting out would generate errors.

Se você selecionar Sim, SSMA marcará todas as referências para fora de gatilhos em convertido sequenciar CURRVAL com um aviso.If you select Yes, SSMA will mark all references to outside triggers on the converted sequence CURRVAL with a warning.

Se você selecionar não, SSMA marcará todas as referências para fora de gatilhos em convertido sequenciar CURRVAL com um erro.If you select No, SSMA will mark all references to outside triggers on the converted sequence CURRVAL with an error.

Consulte tambémSee Also

Referência da Interface do usuário (OracleToSQL)User Interface Reference (OracleToSQL)