Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A página Conversão da caixa de diálogo Configurações do Projeto contém configurações que personalizam como o SSMA converte a sintaxe Oracle em sintaxe do SQL Server.
O painel de Conversão está disponível nas caixas de diálogo Configurações do Projeto e Configurações do Projeto Padrão .
Para especificar configurações para todos os projetos SSMA, no menu Ferramentas , clique em Configurações Padrão do Projeto, selecione o tipo de projeto de migração cujas configurações precisam ser exibidas ou alteradas na lista suspensa Versão de Destino da Migração , clique em Geral na parte inferior do painel esquerdo e clique em Conversão.
Para especificar configurações para o projeto atual, no menu Ferramentas clique em Configurações do projeto, clique em Geral na parte inferior do painel esquerdo e, em seguida, clique em Conversão.
Funções incorporadas e pacotes fornecidos
| Período | Definição |
|---|---|
| Converter função COUNT em COUNT_BIG | Se é provável que suas COUNT funções retornem valores maiores que 2.147.483.647, que é 231-1, você deve converter as funções em COUNT_BIG.Se você selecionar Sim, o SSMA converterá todos os usos de COUNT em COUNT_BIG.Se você selecionar Não, as funções permanecerão como COUNT. O SQL Server retornará um erro se a função retornar um valor maior que 231-1.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Completo: Sim Modo Otimista: Não |
| Converter chamadas de função SUBSTR em chamadas de função SUBSTRING | O SSMA pode converter chamadas de função Oracle SUBSTR em chamadas de função do SQL Server substring , dependendo do número de parâmetros. Se o SSMA não puder converter uma SUBSTR chamada de função ou se o número de parâmetros não for suportado, o SSMA converterá a SUBSTR chamada de função em uma chamada de função SSMA personalizada.Se você selecionar Sim, o SSMA converterá SUBSTR chamadas de função que usam três parâmetros em SQL Server substring. Outras funções SUBSTR serão convertidas para invocar a função personalizada SSMA.Se você selecionar Não, o SSMA converterá a chamada de SUBSTR função em uma chamada de função SSMA personalizada.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Sim Modo Completo: Não |
| Converter chamadas de função TO_CHAR (data, formato) | O SSMA pode converter o Oracle TO_CHAR(date, format) em procedimentos de esquema ssma_oracle.Se selecionar a função TO_CHAR_DATE, o SSMA converte TO_CHAR(date, format) em TO_CHAR_DATE utilizando o inglês para conversão.Se você selecionar a função TO_CHAR_DATE_LS (NLS care), o SSMA converte o TO_CHAR(date, format) em função TO_CHAR_DATE_LS utilizando a língua da sessão para conversãoQuando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo padrão/otimista: usando a função TO_CHAR_DATE Modo Completo: Usando a função TO_CHAR_DATE_LS (cuidados com NLS) |
| Gerar erro para DBMS_SQL.PARSE | Se você selecionar Erro, o SSMA gerará erro na conversão DBMS_SQL.PARSE.Se você selecionar Aviso, o SSMA gerará um aviso na conversão DBMS_SQL.PARSE.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Erro |
| Usar ISNULL em chamadas de função CONCAT |
ISNULL é usada em CONCAT chamadas de função para emular o comportamento do Oracle. As seguintes opções estão presentes para essa configuração:SIM Não Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Não Modo Completo: Sim |
| Usar ISNULL em chamadas de função REPLACE |
ISNULL é usada em REPLACE chamadas de função para emular o comportamento do Oracle. As seguintes opções estão presentes para essa configuração:SIM Não Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Não Modo Completo: Sim |
| Use a função de conversão nativa quando possível | Se selecionar Sim, o SSMA converte a TO_CHAR(date, format) para uma função nativa quando possível.Se selecionares Não, o SSMA converte o TO_CHAR(date, format) em TO_CHAR_DATE ou TO_CHAR_DATE_LS (é definido pelas opções Converter TO_CHAR(data, formato)).Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Sim Modo Completo: Não |
Mensagens de conversão
| Período | Definição |
|---|---|
| Gerar mensagens sobre problemas | Especifica se o SSMA gera mensagens informativas durante a conversão, as exibe no painel Saída e as adiciona ao código convertido. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Não Modo Completo: Não |
Opções diversas
| Período | Definição |
|---|---|
| Converter expressões ROWNUM para inteiros | Quando o SSMA converte ROWNUM expressões, ele converte a expressão em uma TOP cláusula, seguida pela expressão. O exemplo seguinte mostra ROWNUM numa instrução Oracle DELETE :DELETE FROM Table1WHERE ROWNUM < expression and Field1 >= 2O exemplo a seguir mostra o Transact-SQL resultante: DELETE TOP (expression-1)FROM Table1WHERE Field1>=2O TOP requer que a expressão das cláusulas TOP seja avaliada para um número inteiro. Se o número inteiro for negativo, a instrução produzirá um erro.Se você selecionar Sim, o SSMA converte a expressão como um inteiro. Se você selecionar Não, o SSMA marcará todas as expressões não inteiras como um erro no código convertido. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Completo: Não Modo Otimista: Sim |
| Mapeamento de esquema padrão | Esta configuração especifica como os esquemas Oracle são mapeados para esquemas do SQL Server. Duas opções estão disponíveis nesta configuração: Esquema para banco de dados: Neste modo, o esquema sch1 Oracle será mapeado por padrão para o dbo esquema do SQL Server no banco de dados sch1do SQL Server.Esquema para esquema: Nesse modo, o esquema sch1 Oracle será mapeado por padrão para o esquema sch1 do SQL Server no banco de dados padrão do SQL Server especificado na caixa de diálogo de conexão.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo padrão/otimista/completo: esquema para o banco de dados |
| Emular o comportamento nulo do Oracle nas cláusulas ORDER BY |
NULL os valores são ordenados de forma diferente no SQL Server e no Oracle:No SQL Server, NULL valores são os valores mais baixos em uma lista ordenada. Em uma lista crescente, NULL os valores aparecerão primeiro.No Oracle, NULL os valores são os valores mais altos em uma lista ordenada. Por padrão, NULL valores aparecem em último lugar em uma lista de ordem crescente.A Oracle tem NULLS FIRST e NULLS LAST cláusulas, o que permite alterar a forma como a Oracle ordena NULLs.O SSMA pode emular o comportamento do Oracle ORDER BY verificando NULL valores. Em seguida, ele primeiro ordena por NULL valores na ordem especificada e, em seguida, ordena por outros valores.Se você selecionar Sim, o SSMA converterá a instrução Oracle de uma forma que emule o comportamento do Oracle ORDER BY .Se você selecionar Não, o SSMA ignorará as regras do Oracle e gerará uma mensagem de erro quando encontrar as NULLS FIRST cláusulas e NULLS LAST .Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Não Modo Completo: Sim |
| Emular exceções de contagem de linhas em SELECT | Se uma SELECT instrução com uma cláusula INTO não retornar nenhuma linha, a Oracle gerará uma NO_DATA_FOUND exceção. Se a instrução retornar duas ou mais linhas, a TOO_MANY_ROWS exceção será gerada. A instrução convertida no SQL Server não gera nenhuma exceção se a contagem de linhas for diferente de uma.Se selecionar Sim, o SSMA adicionará uma chamada para o procedimento especial db_error_exact_one_row_check após cada SELECT declaração. Este procedimento emula as NO_DATA_FOUND e TOO_MANY_ROWS exceções. Este é o padrão e permite reproduzir o comportamento do Oracle o mais próximo possível. Você deve sempre escolher Sim se o código-fonte tiver manipuladores de exceção que processam esses erros. Observe que, se a instrução 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 o aumento de exceções não são compatíveis com o SELECT contexto de função do SQL Server.Se você selecionar Não, nenhuma exceção será gerada. Isso pode ser útil quando o SSMA converte uma função definida pelo usuário e você deseja que ela permaneça uma função no SQL Server Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Ativar o Fix Advisor | Quando habilitado, o SSMA tentará aprender com as modificações feitas no código T-SQL de destino e sugerirá possíveis correções de código em outros locais, onde um padrão semelhante pode ser aplicado. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Gerar aliases de coluna de expressão constante | Se a expressão na SELECT lista estiver faltando um alias, o SSMA pode gerar alias constantes (como expr1, expr2, etc.) ou usar a própria expressão como um alias. Como as expressões podem ficar muito longas e o comprimento do nome da coluna é limitado, é mais seguro usar o nome base constante para esses aliases. Embora seja uma opção mais segura, às vezes não é possível, porque pode haver dependências externas no conjunto de dados resultante. Nesses casos, convém nomear colunas de acordo com suas expressões de valor, semelhante ao comportamento do Oracle.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo padrão/otimista: Sim Modo Completo: Não |
| Omitir propriedades estendidas | Quando habilitado, o SSMA não adicionará propriedades estendidas aos objetos criados no banco de dados de destino. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Não |
| Traduzir códigos de erro | Quando ativado, o número do erro no servidor SQL Server de destino será convertido para o código de erro Oracle se o mapeamento for encontrado. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Completo: Sim Modo Otimista: Não |
| Usar especificação de tipo completa para referências de tipo | Quando habilitado, o SSMA respeitará a especificação completa do tipo (incluindo escala e precisão) para parâmetros de rotina e valores de retorno. O Oracle não permite argumentos de tipo de dados para parâmetros de rotina, mas há casos em que eles podem ser implicitamente derivados, por exemplo, quando %TYPE e %ROWTYPE atributos são usados. Nesses casos, o SSMA pode usar a especificação de tipo completa (incluindo precisão e escala) ao convertê-la em SQL Server.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Sim Modo Completo: Não |
| Usar ISNULL na concatenação de cadeia de caracteres | Oracle e SQL Server retornam resultados diferentes quando concatenações de cadeia de caracteres incluem NULL valores. A Oracle trata o NULL valor como um conjunto de caracteres vazio. O SQL Server retorna NULL.Se você selecionar Sim, o SSMA substituirá o caractere de concatenação Oracle (||) pelo caractere de concatenação do SQL Server (+). O SSMA também verifica as expressões de ambos os lados da concatenação à procura de valores NULL.Se selecionar Não, o SSMA substituirá os caracteres de concatenação, mas não verificará os valores de NULL.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
Conversão de objetos
| Período | Definição |
|---|---|
| Converter chaves estrangeiras com a ação referencial SET NULL na coluna que NÃO é NULA | O Oracle permite a criação de restrições de chave estrangeira, onde uma SET NULL ação não pode ser executada porque NULLs não são permitidos na coluna referenciada. O SQL Server não permite essa configuração de chave estrangeira.Se você selecionar Sim, o SSMA gerará ações referenciais como no Oracle, mas você precisará fazer alterações manuais antes de carregar a restrição no SQL Server. Por exemplo, você pode escolher NO ACTION em vez de SET NULL.Se você selecionar Não, a restrição será marcada como um erro. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Não |
| Converter subtipos | O SSMA pode converter subtipos PL/SQL de duas maneiras: Se você selecionar Sim, o SSMA criará o tipo definido pelo usuário do SQL Server a partir de um subtipo e o usará para cada variável desse subtipo. Se você selecionar Não, o SSMA substituirá todas as declarações de origem do subtipo pelo tipo subjacente e converterá o resultado como de costume. Nesse caso, nenhum tipo adicional é criado no SQL Server Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Não |
| Converter sinónimos | Os sinônimos dos seguintes objetos Oracle podem ser migrados para o SQL Server: Tabelas e tabelas de objetos Modos de exibição e modos de exibição de objeto Procedimentos armazenados e funções Visões materializadas Sinónimos de : Os objetos Oracle podem ser substituídos por referências diretas aos objetos: Sequências Pacotes Objetos de esquema de classe Java Tipos de objeto definidos pelo usuário Outros sinônimos não podem ser migrados. SSMA irá gerar mensagens de erro para o sinônimo e todas as referências que usam o sinônimo. Se você selecionar Sim, o SSMA criará sinônimos do SQL Server e referências diretas de objeto de acordo com as listas anteriores. Se você selecionar Não, o SSMA criará referências diretas de objeto para todos os sinônimos listados aqui. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Conversão de módulos locais | Define o tipo de conversão de subprograma aninhado Oracle (declarado em procedimento armazenado autônomo ou função). Se selecionar Inline, as chamadas de subprograma aninhadas serão substituídas pelo seu corpo. Se você selecionar Procedimentos armazenados, o subprograma aninhado será convertido em um procedimento armazenado do SQL Server e suas chamadas serão substituídas nessa chamada de procedimento. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo padrão/otimista/completo: em linha |
Conversão de registos
| Período | Definição |
|---|---|
| Converter registro como uma lista de variáveis separadas | O SSMA pode converter registros Oracle em variáveis separadas e em variáveis XML com estrutura específica. Se você selecionar Sim, o SSMA converte o registro em uma lista de variáveis separadas quando possível. Se você selecionar Sem, o SSMA converte o registro em variáveis XML com estrutura específica. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Use SELECT... FOR XML para converter SELECT... INTO em variável de registro | Especifica se um conjunto de resultados XML deve ser gerado quando você seleciona uma variável de registro. Se você selecionar Sim, a instrução SELECT retornará XML. Se você selecionar No, a instrução SELECT retornará um conjunto de resultados. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Não |
Conversão da Cláusula RETURNING
| Período | Definição |
|---|---|
| Converter a cláusula RETURNING na instrução DELETE para OUTPUT | A Oracle fornece uma RETURNING cláusula como forma de obter imediatamente valores excluídos. O SQL Server fornece essa funcionalidade com a OUTPUT cláusula.Se selecionar Sim, o SSMA converterá RETURNING cláusulas em instruções para DELETE cláusulas. Como os gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente no SQL Server do que era no Oracle.Se você selecionar Não, o SSMA gerará uma SELECT instrução antes DELETE das instruções para recuperar os valores retornados.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Converter a cláusula RETURNING na instrução INSERT para OUTPUT | A Oracle fornece uma RETURNING cláusula como forma de obter imediatamente os valores inseridos. O SQL Server fornece essa funcionalidade com a OUTPUT cláusula.Se selecionar Sim, o SSMA converterá uma cláusula RETURNING de uma instrução INSERT para OUTPUT. Como os gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente no SQL Server do que era no Oracle.Se você selecionar Não, o SSMA emulará a funcionalidade Oracle inserindo e selecionando valores de uma tabela de referência. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Converter a cláusula RETURN na instrução UPDATE em OUTPUT | A Oracle fornece uma RETURNING cláusula como forma de obter imediatamente valores atualizados. O SQL Server fornece essa funcionalidade com a OUTPUT cláusula.Se selecionar Sim, o SSMA converterá RETURNING cláusulas em instruções para UPDATE cláusulas. Como os gatilhos em uma tabela podem alterar valores, o valor retornado pode ser diferente no SQL Server do que era no Oracle.Se você selecionar Não, o SSMA gerará instruções SELECT após UPDATE instruções para recuperar valores retornados.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
Geração ROWID
| Período | Definição |
|---|---|
| Gerar coluna ROWID | Quando o SSMA cria tabelas no SQL Server, ele pode criar uma coluna ROWID. Quando os dados são migrados, cada linha obtém um novo valor UNIQUEIDENTIFIER gerado pela função newid().Se selecionar Sim, a coluna ROWID é criada em todas as tabelas e o SQL Server gera GUIDs para os valores inseridos. Escolha sempre Sim se estiver planejando usar o SSMA Tester.Se você selecionar Não, as colunas ROWID não serão adicionadas às tabelas. Adicionar coluna ROWID para tabelas com gatilhos adicionar ROWID para as tabelas que contêm gatilhos.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Adicionar coluna ROWID para tabelas com gatilhos Modo Completo: Sim |
| Gerar índice exclusivo na coluna ROWID | Especifica se o SSMA gera ou não uma coluna de índice exclusiva na ROWID coluna gerada. Se a opção estiver definida como "SIM", o índice exclusivo será gerado e, se estiver definido como "NÃO", o ROWID índice exclusivo não será gerado na coluna.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
Sequência e conversão de identidade
| Período | Definição |
|---|---|
| Converter identidade como | A Oracle fornece várias opções de configuração para colunas de identidade. Algumas dessas opções não são suportadas pelo recurso de identidade no SQL Server. Um método para preservar essas opções é converter a identidade como uma sequência. Se você selecionar Sequência, as colunas de identidade Oracle não serão mais convertidas em colunas de identidade SQL. Em vez disso, uma sequência será criada e usada para gerar valores padrão para a coluna. Se você selecionar Identidade, as colunas de identidade Oracle serão convertidas em colunas de identidade SQL. As opções não suportadas não serão convertidas. Se selecionar Melhor Ajustamento, o SSMA determinará o melhor método de conversão (Identidade ou Sequência) dependendo da configuração da coluna de identidade Oracle. |
| Converter gerador de sequência | No Oracle, você pode usar uma sequência para gerar identificadores exclusivos. O SSMA pode converter sequências para o seguinte. Usando o gerador de sequência do SQL Server. Usando o gerador de sequência SSMA. Usando a identidade da coluna. A opção padrão é usar o gerador de sequência do SQL Server. No entanto, o SQL Server não oferece suporte à obtenção do valor atual da sequência (como no método de sequência do Oracle CURRVAL). Consulte o blog da equipa SSMA para obter orientação sobre a migração do método de sequência CURRVAL Oracle.O SSMA também fornece uma opção para converter a sequência Oracle em emulador de sequência SSMA. Esta é a opção padrão quando você converte para o SQL Server antes de 2012 Finalmente, você também pode converter a sequência atribuída a uma coluna na tabela em valores de identidade do SQL Server. Você deve especificar o mapeamento entre as sequências a uma coluna de identidade na aba Tabela Oracle |
| Converter gatilhos externos CURRVAL | Visível somente quando o Convert Sequence Generator está definido como Usando a identidade da coluna. Como as Sequências Oracle são objetos separados das tabelas, muitas tabelas que usam Sequências usam um gatilho para gerar e inserir um novo valor de sequência. O SSMA comenta essas declarações ou as marca como erros quando o comentário geraria erros. Se você selecionar Sim, o SSMA marcará todas as referências a gatilhos externos na sequência CURRVAL convertida com um aviso.Se você selecionar Não, o SSMA marcará todas as referências a gatilhos externos na sequência CURRVAL convertida com um erro. |
Conversão de declarações
| Período | Definição |
|---|---|
| Conversão da instrução MERGE | Se selecionar Usando a instrução INSERT, UPDATE, DELETE, o SSMA converte a MERGE instrução em INSERT, UPDATE e DELETE instruções.Se selecionar Usando instrução MERGE, o SSMA converte a instrução MERGE numa instrução MERGE no SQL Server.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo padrão/otimista/completo: usando a instrução MERGE |
| Converter chamadas em subprogramas que usam argumentos padrão | As funções do SQL Server não suportam a omissão de parâmetros na chamada de função. Além disso, as funções e procedimentos do SQL Server não oferecem suporte a expressões como valores de parâmetro padrão. Se você selecionar Sim e uma chamada de função omitir parâmetros, o SSMA inserirá a palavra-chave padrão na função e chamará na posição correta. Em seguida, marcará a chamada com um aviso. Se você selecionar Não, o SSMA marcará as chamadas de função como erros. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Converter instrução FORALL em instrução WHILE | Define como o SSMA irá tratar FORALL loops em elementos de coleção PL/SQL.Se você selecionar Sim, o SSMA criará um WHILE loop onde os elementos da coleção serão recuperados um a um.Se você selecionar Não, o SSMA gerará um conjunto de linhas da coleção usando nodes() o método e o usará como uma única tabela. Isso é mais eficiente, mas torna o código de saída menos legível.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista: Não Modo Completo: Sim |
| Converter chamadas de função em chamadas de procedimento | Algumas funções Oracle são definidas como transações autônomas ou contêm instruções que não seriam válidas no SQL Server. Nesses casos, o SSMA cria um procedimento e uma função que serve como envoltório para o procedimento. A função convertida chama o procedimento de implementação. O SSMA pode converter chamadas para a função wrapper em chamadas para o procedimento. Isso cria um código mais legível e pode melhorar o desempenho. No entanto, o contexto nem sempre o permite; Por exemplo, você não pode substituir uma chamada de função na SELECT lista por uma chamada de procedimento. A SSMA tem algumas opções para cobrir os casos comuns:Se você selecionar Sempre, o SSMA tentará converter chamadas de função de wrapper em chamadas de procedimento. Se o contexto atual não permitir essa conversão, uma mensagem de erro será produzida. Desta forma, nenhuma chamada de função é deixada no código gerado. Se você selecionar Quando possível, o SSMA fará uma movimentação para chamadas de procedimento somente se a função tiver parâmetros de saída. Quando a movimentação não é possível, o atributo de saída do parâmetro é removido. Em todos os outros casos, o SSMA deixa as chamadas de função. Se tu escolheres Nunca, o SSMA deixará todas as chamadas de função como estão. Por vezes, esta escolha pode ser inaceitável devido a razões de desempenho. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Quando possível |
| Converter instruções LOCK TABLE | O SSMA pode converter muitas LOCK TABLE instruções em indicações de tabela. O SSMA não pode converter nenhuma LOCK TABLE instrução que contenha PARTITION, SUBPARTITION, @dblinke NOWAIT cláusulas, e marcará essas instruções com mensagens de erro de conversão.Se você selecionar Sim, o SSMA converterá instruções suportadas LOCK TABLE em dicas de tabela.Se você selecionar Não, o SSMA marcará todas as LOCK TABLE instruções com mensagens de erro de conversão.A tabela a seguir mostra como o SSMA converte os modos de bloqueio Oracle: Modo de bloqueio Oracle ROW SHAREROW EXCLUSIVESHARE UPDATE = ROW SHARESHARESHAREEXCLUSIVEDica de tabela do SQL Server ROWLOCK, HOLDLOCKROWLOCK, XLOCK, HOLDLOCKROWLOCK, HOLDLOCKTABLOCK, HOLDLOCKTABLOCK, XLOCK, HOLDLOCKTABLOCKX, HOLDLOCKQuando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Converter instruções OPEN-FOR para parâmetros REF CURSOR OUT | Em Oracle, a OPEN .. FOR instrução pode ser usada para retornar um conjunto de resultados para o parâmetro OUT de um subprograma do tipo REF CURSOR. No SQL Server, os procedimentos armazenados retornam diretamente os resultados das SELECT instruções.O SSMA pode converter muitas instruções de OPEN .. FOR em instruções de SELECT.Se você selecionar Sim, o SSMA converte a OPEN .. FOR instrução em uma SELECT instrução, que retorna o conjunto de resultados para o cliente.Se você selecionar Não, o SSMA gerará uma mensagem de erro no código convertido e no painel Saída. Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |
| Converter declarações de processamento de transações | O SSMA pode converter instruções de processamento de transações Oracle: Se você selecionar Sim, o SSMA converte instruções de processamento de transações Oracle em instruções do SQL Server. Se você selecionar Sem, o SSMA marcará as instruções de processamento de transações como erros de conversão. Observação: A Oracle abre transações implicitamente. Para emular esse comportamento no SQL Server, você deve adicionar BEGIN TRANSACTION instruções manualmente onde deseja que suas transações iniciem. Como alternativa, você pode executar o SET IMPLICIT_TRANSACTIONS ON comando no início da sessão. O SSMA adiciona SET IMPLICIT_TRANSACTIONS ON automaticamente ao converter sub-rotinas com transações autônomas.Quando você seleciona um modo de conversão na caixa Modo, o SSMA aplica a seguinte configuração: Modo Padrão/Otimista/Completo: Sim |