Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Después de conectarse a Oracle, conectarse a SQL Server y establecer opciones de asignación de proyectos y datos, puede convertir objetos de base de datos de Oracle en objetos de base de datos de SQL Server.
Proceso de conversión
La conversión de objetos de base de datos toma las definiciones de objeto de Oracle, las convierte en objetos de SQL Server similares y, a continuación, carga esta información en los metadatos de Microsoft SQL Server Migration Assistant (SSMA) para Oracle. No carga la información en la instancia de SQL Server. A continuación, puede ver los objetos y sus propiedades mediante el Explorador de metadatos de SQL Server.
Durante la conversión, SSMA imprime los mensajes de salida en el panel Salida y los mensajes de error en el panel Lista de errores. Use la información de salida y error para determinar si tiene que modificar las bases de datos de Oracle o el proceso de conversión para obtener los resultados de conversión deseados.
Establecer opciones de conversión
Antes de convertir objetos, revise las opciones de conversión del proyecto en el cuadro de diálogo Configuración del proyecto. Mediante este cuadro de diálogo, puede determinar cómo SSMA convierte las funciones y las variables globales. Para obtener más información, vea Configuración del proyecto (conversión).
Resultados de la conversión
En la tabla siguiente se muestran los objetos oracle convertidos y los objetos de SQL Server resultantes:
| Objetos de Oracle | Objetos de SQL Server resultantes |
|---|---|
| Funciones | Si la función se puede convertir directamente en Transact-SQL, SSMA crea una función. En algunos casos, la función debe convertirse en un procedimiento almacenado. En este caso, SSMA crea un procedimiento almacenado y una función que llama al procedimiento almacenado. |
| Procedimientos | Si el procedimiento se puede convertir directamente en Transact-SQL, SSMA crea un procedimiento almacenado. En algunos casos, se debe llamar a un procedimiento almacenado en una transacción autónoma. En este caso, SSMA crea dos procedimientos almacenados: uno que implementa el procedimiento y otro que llama al procedimiento que implementa. |
| Paquetes | SSMA crea un conjunto de procedimientos almacenados y funciones unificados por nombres de objeto similares. |
| Secuencias | SSMA crea objetos de secuencia (SQL Server 2012 (11.x) y versiones posteriores) o emula las secuencias de Oracle. |
| Tablas con objetos dependientes, como índices y desencadenadores | SSMA crea tablas con objetos dependientes. |
| Vistas con objetos dependientes, como desencadenadores | SSMA crea vistas con objetos dependientes. |
| Vistas materializadas | SSMA crea vistas indizadas en SQL Server con algunas excepciones. Se produce un error en la conversión si la vista materializada incluye una o varias de las construcciones siguientes: Función definida por el usuario. Campo, función o expresión no determinista en las cláusulas SELECT, WHERE o GROUP BY.Uso de la columna Float en las cláusulas SELECT*, WHERE o GROUP BY (caso especial del problema anterior).Tipo de datos personalizado (incluidas las tablas anidadas). COUNT(campo< distinto>).FETCH.OUTER combinaciones (LEFT, RIGHTo FULL).Subconsulta, otra vista. OVER, RANK, LEAD o LOG.MIN, MAX.UNION, , MINUS. INTERSECTHAVING. |
| Desencadenador | SSMA crea desencadenadores basados en las reglas siguientes: Los desencadenadores BEFORE se convierten en desencadenadores INSTEAD OF.Los desencadenadores AFTER se convierten en desencadenadores AFTER.Los desencadenadores INSTEAD OF se convierten en desencadenadores INSTEAD OF. Varios INSTEAD OF desencadenadores definidos en la misma operación se combinan en un solo desencadenador.Los desencadenadores de nivel de fila se emulan mediante cursores. Los activadores compuestos se convierten en INSTEAD OF activadores. Varios desencadenadores compuestos se combinan en un único desencadenador.Los desencadenadores en cascada se convierten en varios desencadenadores individuales. |
| Sinónimos | Los sinónimos se crean para los siguientes tipos de objeto: Tablas y tablas de objetos. Vistas y vistas de objetos. Procedimientos almacenados. Funciones. Los sinónimos de los objetos siguientes se resuelven y reemplazan por referencias directas de objeto: Secuencias. Paquetes. Objetos de esquema de clase Java. Tipos de objetos definidos por el usuario. Los sinónimos de otro sinónimo no se pueden migrar y se marcan como errores. No se crean sinónimos para vistas materializadas. |
| Tipos definidos por el usuario | SSMA no proporciona compatibilidad con la conversión de tipos definidos por el usuario. Los tipos definidos por el usuario, incluido su uso en programas PL/SQL, se marcan con errores de conversión especiales guiados por las siguientes reglas: La columna de tabla de un tipo definido por el usuario se convierte en VARCHAR(8000).El argumento de un tipo definido por el usuario a un procedimiento almacenado o función se convierte en VARCHAR(8000).La variable de un tipo definido por el usuario en el bloque PL/SQL se convierte en VARCHAR(8000).La tabla de objetos se convierte en una tabla estándar. La vista de objeto se convierte en una vista estándar. |
Conversión de objetos de base de datos de Oracle
Para convertir objetos de base de datos de Oracle, seleccione los objetos que desea convertir y, a continuación, haga que SSMA realice la conversión. Para ver los mensajes de salida durante la conversión, en el menú Ver , seleccione Salida.
Conversión de objetos de Oracle en sintaxis de SQL Server
En el Explorador de metadatos de Oracle, expanda el servidor de Oracle y, a continuación, expanda Esquemas.
Seleccione los objetos que se van a convertir:
- Para convertir todos los esquemas, active la casilla situada junto a Esquemas.
- Para convertir o omitir una base de datos, active la casilla situada junto al nombre del esquema.
- Para convertir o omitir una categoría de objetos, expanda un esquema y, a continuación, active o desactive la casilla situada junto a la categoría.
- Para convertir o omitir objetos individuales, expanda la carpeta category y, a continuación, active o desactive la casilla situada junto al objeto.
Para convertir todos los objetos seleccionados, haga clic con el botón derecho en Esquemas y seleccione Convertir esquema.
También puede convertir objetos individuales o categorías de objetos haciendo clic con el botón derecho en el objeto o su carpeta primaria y seleccionando Convertir esquema.
Visualización de problemas de conversión
Es posible que algunos objetos de Oracle no se conviertan. Para determinar las tasas de éxito de conversión, vea el informe de conversión de resumen.
Visualización de un informe de resumen
En el Explorador de metadatos de Oracle, seleccione Esquemas.
En el panel derecho, seleccione la pestaña Informe .
En este informe se muestra el informe de evaluación de resumen de todos los objetos de base de datos evaluados o convertidos. También puede ver un informe de resumen para objetos individuales.
- Para ver el informe de un esquema individual, seleccione el esquema en el Explorador de metadatos de Oracle.
- Para ver el informe de un objeto individual, seleccione el objeto en el Explorador de metadatos de Oracle. Los objetos que tienen problemas de conversión tienen un icono de error rojo.
En el caso de los objetos con errores de conversión, puede ver la sintaxis que produjo el error de conversión.
Visualización de problemas de conversión individuales
En el Explorador de metadatos de Oracle, expanda Esquemas.
Expanda el esquema con un icono de error rojo.
En el esquema, expanda una carpeta con un icono de error rojo.
Seleccione el objeto con un icono de error rojo.
En el panel derecho, seleccione la pestaña Informe .
Hay una lista desplegable en la parte superior de la pestaña Informe . Si la lista muestra Estadísticas, cambie la selección a Origen. SSMA muestra el código fuente y varios botones inmediatamente encima del código.
Seleccione el botón Siguiente problema , que muestra un icono de error rojo con una flecha que apunta a la derecha. SSMA resalta el primer código fuente problemático que encuentra en el objeto actual.
Para cada elemento que no se pudo convertir, elija lo que desea hacer con ese objeto:
- Puede modificar el código fuente de los procedimientos de la pestaña SQL .
- Puede modificar el objeto de la base de datos de Oracle para quitar o revisar el código problemático. Para cargar el código actualizado en SSMA, debe actualizar los metadatos. Para obtener más información, consulte Conexión a Oracle Database.
- Puedes excluir el objeto de la migración. En el Explorador de metadatos de SQL Server y el Explorador de metadatos de Oracle, desactive la casilla situada junto al elemento. A continuación, cargue los objetos en SQL Server y migre datos de Oracle.