Compartir a través de


Configuración del proyecto (conversión) (OracleToSQL)

La página Conversión del cuadro de diálogo Configuración del proyecto contiene valores que personalizan cómo SSMA convierte la sintaxis de Oracle en la sintaxis de SQL Server.

El panel Conversión está disponible en los cuadros de diálogo Configuración del proyecto y Configuración predeterminada del proyecto :

  • Para especificar la configuración de todos los proyectos de SSMA, en el menú Herramientas , haga clic en Configuración predeterminada del proyecto, seleccione tipo de proyecto de migración para el que se debe ver o cambiar la configuración en la lista desplegable Versión de destino de migración y, a continuación, haga clic en General en la parte inferior del panel izquierdo y, a continuación, haga clic en Conversión.

  • Para especificar la configuración del proyecto actual, en el menú Herramientas , haga clic en Configuración del proyecto y, a continuación, haga clic en General en la parte inferior del panel izquierdo y, a continuación, haga clic en Conversión.

Funciones integradas y paquetes proporcionados

Término Definición
Convertir la función COUNT en COUNT_BIG COUNT Si es probable que las funciones devuelvan valores mayores que 2.147.483.647, que es 231-1, debe convertir las funciones en COUNT_BIG.

Si selecciona Sí, SSMA convertirá todos los usos de COUNT en COUNT_BIG.

Si selecciona No, las funciones permanecerán como COUNT. SQL Server devolverá un error si la función devuelve un valor mayor que 231-1.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/completo:
Modo optimista: No
Conversión de llamadas de función SUBSTR a llamadas de función SUBSTRING SSMA puede convertir llamadas de función de Oracle SUBSTR en llamadas de función de SQL Server substring , en función del número de parámetros. Si SSMA no puede convertir una SUBSTR llamada de función o no se admite el número de parámetros, SSMA convertirá la SUBSTR llamada de función en una llamada de función SSMA personalizada.

Si selecciona , SSMA convertirá SUBSTR las llamadas de función que usan tres parámetros en SQL Server substring. Otras SUBSTR funciones se convertirán para llamar a la función SSMA personalizada.

Si selecciona No, SSMA convertirá la SUBSTR llamada de función en una llamada de función SSMA personalizada.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista:
Modo completo: No
Convertir llamadas de función TO_CHAR(date, format) SSMA puede convertir Oracle TO_CHAR(date, format) en procedimientos del ssma_oracle esquema.

Si selecciona la función TO_CHAR_DATE, SSMA convierte la TO_CHAR(date, format) en la función TO_CHAR_DATE utilizando el idioma inglés para la conversión.

Si selecciona la función TO_CHAR_DATE_LS (consideración NLS), SSMA convierte la TO_CHAR(date, format) en la función TO_CHAR_DATE_LS utilizando el lenguaje de sesión para la conversión.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: Uso de TO_CHAR_DATE función
Modo completo: Uso de la función TO_CHAR_DATE_LS (cuidado de NLS)
Generar un error para DBMS_SQL.PARSE Si selecciona Error, SSMA genera un error en la conversión DBMS_SQL.PARSE.

Si selecciona Advertencia, SSMA genera una advertencia en la conversión DBMS_SQL.PARSE.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:
Modo predeterminado, optimista o completo: Error
Uso de ISNULL en llamadas de función CONCAT ISNULL La instrucción se usa en CONCAT llamadas de función para emular el comportamiento de Oracle. Las siguientes opciones están presentes para esta configuración:



NO

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: No
Modo completo:
Uso de ISNULL en llamadas de función REPLACE ISNULL La instrucción se usa en REPLACE llamadas de función para emular el comportamiento de Oracle. Las siguientes opciones están presentes para esta configuración:



NO

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: No
Modo completo:
Uso de la función de conversión nativa siempre que sea posible Si selecciona , SSMA convierte TO_CHAR(date, format) en una función de conversión nativa siempre que sea posible.

Si selecciona No, SSMA convierte el TO_CHAR(date, format) en TO_CHAR_DATE o TO_CHAR_DATE_LS (se define mediante las opciones de Convert TO_CHAR(date, format)).

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista:
Modo completo: No

Mensajes de conversión

Término Definición
Generación de mensajes sobre problemas Especifica si SSMA genera mensajes informativos durante la conversión, los muestra en el panel Salida y los agrega al código convertido.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: No
Modo completo: No

Opciones varias

Término Definición
Convertir expresiones ROWNUM como enteros Cuando SSMA convierte ROWNUM expresiones, convierte la expresión en una cláusula TOP, seguida por la expresión. En el ejemplo siguiente se muestra ROWNUM en una instrucción Oracle DELETE:

DELETE FROM Table1
WHERE ROWNUM < expression and Field1 >= 2

En el ejemplo siguiente se muestra el resultado de Transact-SQL:

DELETE TOP (expression-1)
FROM Table1
WHERE Field1>=2

TOP requiere que la TOP expresión de cláusulas se evalúe como un entero. Si el entero es negativo, la declaración producirá un error.

Si selecciona , SSMA convierte la expresión como un entero.

Si selecciona No, SSMA marcará todas las expresiones no enteras como un error en el código convertido.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/completo: No
Modo optimista:
Asignación de esquema predeterminada Esta configuración especifica cómo se asignan los esquemas de Oracle a esquemas de SQL Server. Hay dos opciones disponibles en esta configuración:

Esquema a base de datos: En este modo, el esquema sch1 de Oracle se asignará de forma predeterminada al dbo esquema de SQL Server en la base de datos sch1de SQL Server .

Esquema al esquema: En este modo, el esquema sch1 de Oracle se asignará por defecto al sch1 esquema de SQL Server en la base de datos predeterminada de SQL Server proporcionada en el cuadro de diálogo de conexión.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: Aplicación del esquema a la base de datos
Emular el comportamiento null de Oracle en cláusulas ORDER BY NULL Los valores se ordenan de forma diferente en SQL Server y Oracle:

En SQL Server, NULL los valores son los valores más bajos de una lista ordenada. En una lista ascendente, NULL los valores aparecerán primero.

En Oracle, NULL los valores son los valores más altos de una lista ordenada. De forma predeterminada, NULL los valores aparecen por última vez en una lista de orden ascendente.

Oracle tiene NULLS FIRST y NULLS LAST cláusulas , lo que le permite cambiar el modo en que Oracle ordena las NULL.

SSMA puede emular el comportamiento de Oracle ORDER BY comprobando los NULL valores. A continuación, primero ordena por NULL valores en el orden especificado y, a continuación, ordena por otros valores.

Si selecciona , SSMA convertirá la instrucción Oracle de una manera que emula el comportamiento de Oracle ORDER BY .

Si selecciona No, SSMA omitirá las reglas de Oracle y generará un mensaje de error cuando encuentre las NULLS FIRST cláusulas y NULLS LAST .

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: No
Modo completo:
Emular excepciones de recuento de filas en SELECT Si una instrucción con una SELECT cláusula INTO no devuelve ninguna fila, Oracle genera una NO_DATA_FOUND excepción. Si la instrucción devuelve dos o más filas, se genera la TOO_MANY_ROWS excepción. La instrucción convertida en SQL Server no genera ninguna excepción si el recuento de filas es diferente de uno.

Si selecciona , SSMA agrega una llamada al procedimiento especial db_error_exact_one_row_check después de cada SELECT instrucción. Este procedimiento emula las excepciones NO_DATA_FOUND y TOO_MANY_ROWS. Este es el valor predeterminado y permite reproducir el comportamiento de Oracle lo más cerca posible. Siempre debe elegir Sí si el código fuente tiene controladores de excepciones que procesan estos errores. Tenga en cuenta que si la instrucción se produce dentro de una función definida por el SELECT usuario, este módulo se convertirá en un procedimiento almacenado, ya que la ejecución de procedimientos almacenados y la generación de excepciones no es compatible con el contexto de función de SQL Server.

Si selecciona No, no se generará ninguna excepción. Esto puede ser útil cuando SSMA convierte una función definida por el usuario y quiere que siga siendo una función en SQL Server.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Habilitación de Fix Advisor Cuando se habilita, SSMA intentará aprender de las modificaciones que realice en el código T-SQL de destino y sugerirá posibles correcciones de código en otros lugares, donde se puede aplicar un patrón similar.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Generación de alias de columna de expresión constante Si falta una expresión en la lista SELECT, SSMA puede generar un alias constante (como expr1, expr2, etc.) o usar la propia expresión como alias. Dado que las expresiones pueden volverse muy largas y la longitud del nombre de columna es limitada, es más seguro utilizar un nombre base constante para estos alias. Aunque es una opción más segura, a veces no es posible, ya que podría haber dependencias externas en el conjunto de datos resultante. En esos casos, puede que desee asignar nombres a las columnas según sus expresiones de valor, de forma similar al comportamiento de Oracle.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista:
Modo completo: No
Omitir propiedades extendidas Cuando se habilita, SSMA no agregará propiedades extendidas a los objetos que crea en la base de datos de destino.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: No
Traducción de códigos de error Cuando se habilita, el número de error en el lado del SQL Server objetivo se traducirá al código de error de Oracle si se dispone de un mapeo.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/completo:
Modo optimista: No
Usar la especificación de tipo completo para las referencias de tipo Cuando se habilita, SSMA respetará la especificación de tipo completo (incluida la escala y la precisión) para los parámetros rutinarios y los valores devueltos. Oracle no permite argumentos de tipo de datos para parámetros rutinarios, pero hay casos en los que se pueden derivar implícitamente, por ejemplo, cuando se utilizan los atributos %TYPE y %ROWTYPE. En tales casos, SSMA puede usar la especificación de tipo completo (incluida la precisión y la escala) al convertirlo en SQL Server.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista:
Modo completo: No
Uso de ISNULL en la concatenación de cadenas Oracle y SQL Server devuelven resultados diferentes cuando las concatenaciones de cadenas incluyen NULL valores. Oracle trata el NULL valor como un juego de caracteres vacío. SQL Server devuelve NULL.

Si selecciona , SSMA reemplaza el carácter de concatenación de Oracle (||) por el carácter de concatenación de SQL Server (+). SSMA también comprueba las expresiones en ambos lados de la concatenación para los valores de NULL.

Si selecciona No, SSMA reemplaza los caracteres de concatenación, pero no comprueba los valores NULL.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:

Conversión de objetos

Término Definición
Convertir claves externas con acción referencial SET NULL en una columna que NO ES NULL Oracle permite crear restricciones de clave externa, en las cuales no se podría realizar una acción SET NULL porque no se permiten NULL en la columna a la que se hace referencia. SQL Server no permite dicha configuración de clave externa.

Si selecciona , SSMA generará acciones referenciales como en Oracle, pero deberá realizar cambios manuales antes de cargar la restricción en SQL Server. Por ejemplo, puede elegir NO ACTION en lugar de SET NULL.

Si selecciona No, la restricción se marcará como un error.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: No
Convertir subtipos SSMA puede convertir subtipos PL/SQL de dos maneras:

Si selecciona , SSMA creará un tipo definido por el usuario de SQL Server a partir de un subtipo y lo usará para cada variable de este subtipo.

Si selecciona No, SSMA reemplazará todas las declaraciones de origen del subtipo por el tipo subyacente y convertirá el resultado como de costumbre. En este caso, no se crean tipos adicionales en SQL Server.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: No
Conversión de sinónimos Los sinónimos de los siguientes objetos de Oracle se pueden migrar a SQL Server:

Tablas y tablas de objetos

Perspectivas y vistas de objetos

Procedimientos almacenados y funciones

Vistas materializadas

Sinónimos de lo siguiente Los objetos de Oracle se pueden reemplazar por referencias directas a los objetos :

Secuencias

Paquetes

Objetos de esquema de clase Java

Tipos de objetos definidos por el usuario

No se pueden migrar otros sinónimos. SSMA generará mensajes de error para el sinónimo y todas las referencias que usan el sinónimo.

Si selecciona , SSMA creará sinónimos de SQL Server y referencias directas de objetos según las listas anteriores.

Si selecciona No, SSMA creará referencias de objeto directas para todos los sinónimos que se enumeran aquí.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Conversión de módulos locales Define el tipo de subprograma anidado de Oracle (declarado en un procedimiento almacenado independiente o función).

Si selecciona Inline, las llamadas a subprogramas anidadas se sustituirán por su cuerpo.

Si selecciona Procedimientos almacenados, el subprograma anidado se convertirá en un procedimiento almacenado de SQL Server y sus llamadas se reemplazarán en esta llamada a procedimiento.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: Inline

Conversión de registros

Término Definición
Convertir el registro como una lista de variables independientes SSMA puede convertir registros de Oracle en variables independientes y en variables XML con una estructura específica.

Si selecciona , SSMA convierte el registro en una lista de variables independientes siempre que sea posible.

Si selecciona No, SSMA convierte el registro en variables XML con una estructura específica.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Usa SELECT...FOR XML al convertir SELECT...INTO para una variable de tipo registro Especifica si se va a generar un conjunto de resultados XML al seleccionar en una variable de registro.

Si selecciona , la instrucción SELECT devuelve XML.

Si selecciona No, la instrucción SELECT devuelve un conjunto de resultados.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: No

Conversión de cláusulas RETURNING

Término Definición
Convertir la cláusula RETURNING en la instrucción DELETE a OUTPUT Oracle proporciona una RETURNING cláusula como una manera de obtener inmediatamente los valores eliminados. SQL Server proporciona esa funcionalidad con la OUTPUT cláusula .

Si selecciona , SSMA convertirá las cláusulas en las instrucciones de RETURNING a las cláusulas de DELETE. Dado que los desencadenadores de una tabla pueden cambiar los valores, el valor devuelto podría ser diferente en SQL Server que en Oracle.

Si selecciona No, SSMA generará una SELECT instrucción antes de DELETE las instrucciones para recuperar los valores devueltos.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Conversión de la cláusula RETURN en la instrucción INSERT a OUTPUT Oracle proporciona una RETURNING cláusula como una manera de obtener inmediatamente los valores insertados. SQL Server proporciona esa funcionalidad con la OUTPUT cláusula .

Si elige , SSMA convertirá una cláusula RETURNING de una instrucción INSERT a OUTPUT. Dado que los desencadenadores de una tabla pueden cambiar los valores, el valor devuelto podría ser diferente en SQL Server que en Oracle.

Si selecciona No, SSMA emula la funcionalidad de Oracle insertando y seleccionando valores de una tabla de referencia.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Convertir la cláusula RETURNING en la instrucción UPDATE a OUTPUT Oracle proporciona una RETURNING cláusula como una manera de obtener inmediatamente los valores actualizados. SQL Server proporciona esa funcionalidad con la OUTPUT cláusula .

Si selecciona , SSMA convertirá las cláusulas en las instrucciones de RETURNING a las cláusulas de UPDATE. Dado que los desencadenadores de una tabla pueden cambiar los valores, el valor devuelto podría ser diferente en SQL Server que en Oracle.

Si selecciona No, SSMA generará instrucciones SELECT después UPDATE de las instrucciones para recuperar los valores devueltos.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:

Generación de ROWID

Término Definición
Generar columna ROWID Cuando SSMA crea tablas en SQL Server, puede crear una columna ROWID. Cuando se migran los datos, cada fila obtiene un nuevo UNIQUEIDENTIFIER valor generado por la newid() función .

Si selecciona , se crea la columna ROWID en todas las tablas y SQL Server genera GUIDs como los valores que va a insertar. Elija siempre si planea usar el evaluador de SSMA.

Si selecciona No, las columnas ROWID no se agregan a las tablas.

Agregar columna ROWID para las tablas con desencadenadoresROWID para las tablas que contienen desencadenadores.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: Agregar columna ROWID para tablas con desencadenadores

Modo completo:
Generación de un índice único en la columna ROWID Especifica si SSMA genera una columna de índice única en la ROWID columna generada o no. Si la opción se establece en "YES", se genera un índice único y, si se establece en "NO", el índice único no se genera en la ROWID columna.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:

Conversión de secuencias y identidades

Término Definición
Convertir identidad como Oracle proporciona varias opciones de configuración para las columnas de identidad. Algunas de estas opciones no son compatibles con la característica de identidad en SQL Server.

Un método para conservar estas opciones es convertir la identidad como una secuencia.

Si selecciona Secuencia, las columnas de identidad de Oracle ya no se convertirán en columnas de identidad de SQL. En su lugar, se creará una secuencia y se usará para generar valores predeterminados para la columna.

Si selecciona Identidad, las columnas de identidad de Oracle se convertirán en columnas de identidad de SQL. No se convertirán las opciones no admitidas.

Si selecciona Mejor ajuste, SSMA determinará el mejor método de conversión de ajuste (identidad o secuencia) en función de la configuración de la columna de identidad de Oracle.
Convertir generador de secuencia En Oracle, puede usar una secuencia para generar identificadores únicos.

SSMA puede convertir secuencias a lo siguiente.

Uso del generador de secuencias de SQL Server.

Uso del generador de secuencias SSMA.

Uso de la identidad de columna.

La opción predeterminada es usar el generador de secuencias de SQL Server. Sin embargo, SQL Server no admite la obtención del valor de secuencia actual (como el del método de secuencia CURRVAL de Oracle). Consulte el sitio de blog del equipo de SSMA para obtener instrucciones sobre cómo migrar el método de secuencia CURRVAL de Oracle.

SSMA también proporciona una opción para convertir la secuencia de Oracle en el emulador de secuencia de SSMA. Esta es la opción predeterminada al convertir a SQL Server antes de 2012.

Por último, también puede convertir la secuencia asignada a una columna de la tabla en valores de identidad de SQL Server. Debe especificar la asignación de las secuencias a una columna de identidad en la pestaña Tabla de Oracle.
Convertir CURRVAL fuera de los desencadenadores Solo es visible cuando el generador de secuencia de conversión está establecido en Usar identidad de columna. Dado que Las secuencias de Oracle son objetos independientes de las tablas, muchas tablas que usan Sequences usan un desencadenador para generar e insertar un nuevo valor de secuencia. SSMA comenta estas instrucciones o las marca como errores si el hecho de comentarlas provocaría errores.

Si selecciona , SSMA marcará todas las referencias a desencadenadores externos en la secuencia CURRVAL convertida con una advertencia.

Si selecciona No, SSMA marcará todas las referencias a desencadenadores externos en la secuencia CURRVAL convertida con un error.

Conversión de declaraciones

Término Definición
Conversión de la instrucción MERGE Si selecciona Usar las instrucciones INSERT, UPDATE, DELETE, SSMA convierte la instrucción en instrucciones MERGE, INSERT, UPDATE, DELETE.

Si selecciona Usar instrucción MERGE, SSMA convierte la instrucción MERGE en la instrucción MERGE en SQL Server.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: Uso de la instrucción MERGE
Conversión de llamadas a subprogramas que usan argumentos predeterminados Las funciones de SQL Server no admiten la omisión de parámetros en la llamada de función. Además, las funciones y procedimientos de SQL Server no admiten expresiones como valores de parámetro predeterminados.

Si selecciona y una llamada de función omite los parámetros, SSMA insertará la palabra clave default en la función y la llamará en la posición correcta. A continuación, marcará la llamada con una advertencia.

Si selecciona No, SSMA marcará las llamadas de función como errores.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Conversión de la instrucción FORALL a la instrucción WHILE Define cómo SSMA tratará FORALL bucles en elementos de colección PL/SQL.

Si selecciona , SSMA crea un WHILE bucle donde los elementos de colección se recuperan uno por uno.

Si selecciona No, SSMA genera un conjunto de filas de la colección mediante nodes() el método y lo usa como una sola tabla. Esto es más eficaz, pero hace que el código de salida sea menos legible.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado/optimista: No
Modo completo:
Conversión de llamadas de función a llamadas de procedimiento Algunas funciones de Oracle se definen como transacciones autónomas o contienen instrucciones que no serían válidas en SQL Server. En estos casos, SSMA crea un procedimiento y una función que es una envoltura para el procedimiento. La función convertida llama al procedimiento de implementación.

SSMA puede convertir llamadas a la función contenedora en llamadas al procedimiento. Esto crea código más legible y puede mejorar el rendimiento. Sin embargo, el contexto no siempre lo permite; por ejemplo, no se puede reemplazar una llamada de función en SELECT la lista por una llamada a procedimiento. SSMA tiene algunas opciones para cubrir los casos comunes:

Si selecciona Siempre, SSMA intenta convertir las llamadas de función contenedora en llamadas de procedimiento. Si el contexto actual no permite esta conversión, se genera un mensaje de error. De este modo, no queda ninguna llamada a función en el código generado.

Si selecciona Cuando sea posible, SSMA realiza una migración a las llamadas a procedimiento solo si la función tiene parámetros de salida. Cuando el movimiento no es posible, se quita el atributo de salida del parámetro. En todos los demás casos, SSMA deja llamadas de función.

Si selecciona Nunca, SSMA mantendrá todas las llamadas de función tal cual. A veces, esta opción puede ser inaceptable debido a motivos de rendimiento.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo: Siempre que sea posible
Convertir sentencias LOCK TABLE SSMA puede convertir muchas LOCK TABLE declaraciones en indicaciones de tabla. SSMA no puede convertir ninguna instrucción que contenga cláusulas LOCK TABLE, PARTITION, SUBPARTITION y @dblink y marcará dichas instrucciones con mensajes de error de conversión.

Si selecciona , SSMA convertirá las instrucciones admitidas LOCK TABLE en sugerencias de tabla.

Si selecciona No, SSMA marcará todas las LOCK TABLE instrucciones con mensajes de error de conversión.

En la tabla siguiente se muestra cómo SSMA convierte los modos de bloqueo de Oracle:

Modo de bloqueo de Oracle

ROW SHARE
ROW EXCLUSIVE
SHARE UPDATE = ROW SHARE
SHARE
SHARE
EXCLUSIVE

Sugerencia de tabla de SQL Server

ROWLOCK, HOLDLOCK
ROWLOCK, XLOCK, HOLDLOCK
ROWLOCK, HOLDLOCK
TABLOCK, HOLDLOCK
TABLOCK, XLOCK, HOLDLOCK
TABLOCKX, HOLDLOCK

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Conversión de instrucciones OPEN-FOR para parámetros REF CURSOR OUT En Oracle, la instrucción OPEN .. FOR se puede utilizar para devolver un conjunto de resultados al parámetro OUT de un subprograma de tipo REF CURSOR. En SQL Server, los procedimientos almacenados devuelven directamente los resultados de las instrucciones SELECT.

SSMA puede convertir muchas OPEN .. FOR instrucciones en SELECT instrucciones.

Si selecciona , SSMA convierte la OPEN .. FOR instrucción en una SELECT instrucción , que devuelve el conjunto de resultados al cliente.

Si selecciona No, SSMA generará un mensaje de error en el código convertido y en el panel Salida.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:
Convertir declaraciones de procesamiento de transacciones SSMA puede convertir instrucciones de procesamiento de transacciones de Oracle:

Si selecciona Sí, SSMA convierte las instrucciones de procesamiento de transacciones de Oracle en instrucciones de SQL Server.

Si selecciona No, SSMA marca las instrucciones de procesamiento de transacciones como errores de conversión.

Nota: Oracle abre transacciones implícitamente. Para emular este comportamiento en SQL Server, debe añadir manualmente BEGIN TRANSACTION sentencias en los lugares donde desee que comiencen sus transacciones. Como alternativa, puede ejecutar el SET IMPLICIT_TRANSACTIONS ON comando al principio de la sesión. SSMA agrega SET IMPLICIT_TRANSACTIONS ON automáticamente al convertir subrutinas en transacciones autónomas.

Al seleccionar un modo de conversión en el cuadro Modo , SSMA aplica la siguiente configuración:

Modo predeterminado, optimista o completo:

Véase también

Referencia de la interfaz de usuario (OracleToSQL)