2009-02-20 16 views

Respuesta

6
  • Oracle Heterogeneous Connectivity/Database Gateways conjuntamente con materializado vista (s), PL/SQL o Java
  • SSIS o DTS: ambos se pueden programar, pero requieren más que un acceso de sólo lectura a SQL Server
  • Java (probablemente dentro de Oracle, pero opcionalmente en el sistema operativo) mediante ODBC o SQLJ para acceder a SQL Server y, posiblemente, Oracle
  • programado de SQL Server para exportar a CSV, Oracle programado para importar desde CSV
  • cualquiera de los otros ETL herramientas (p. Informatica, Cognos)
  • Cualquiera de las miles de lenguas que pueden acceder a las bases de datos (pero requieren el mantenimiento de un tercer entorno para ejecutar la aplicación dentro)

Programación:

  • automática no/reuqired con vistas materializadas
  • Oracle DBMS_JOB/DBMS_SCHEDULER
  • el sistema operativo específico (cron, tareas programadas de Windows, etc.)
  • En el caso de exportación de SSIS, DTS o CSV, programada en SQL Server
2

Puede tener la interfaz de SQL Server con Oracle directamente a través de SSIS (o DTS para 2k). Proporcionará funcionalidad ETL y se puede programar de forma regular.

9

El uso de SQL Server Integration Services (SSIS) es probablemente su mejor apuesta. Si no está familiarizado con SSIS, la mejor manera de probar algo es usar el Asistente de exportación de SQL Server y hacer que cree un paquete de SSIS para usted. Por ejemplo, si va a SQL Server Management Studio y hace clic derecho en su base de datos, seleccione Tareas-> Exportar datos. Desde allí, haga clic en siguiente hasta llegar al paso "Elegir un destino". Seleccione el "Proveedor Microsoft OLE DB para Oracle" y haga clic en Propiedades para definir su conexión a la base de datos. Cuando hace clic en el asistente, en la página Guardar y ejecutar, asegúrese de marcar la casilla de verificación "Guardar paquete SSIS", en la pantalla siguiente especifique dónde guardar el paquete SSIS. Una vez que termine el Asistente para exportación, sus datos se han exportado y que tendrá un paquete SSIS que se puede utilizar como es, o entrar y modificarlo para hacer las cosas más específicas. Una vez que tenga su paquete SSIS, puede programarlo creando un trabajo del Agente SQL Server.

1

Tuve éxito creando un servidor vinculado (desde el Enterprise Manager, creo) a Oracle en el lado de SQL Server. Entonces podría usar procedimientos almacenados normales en ambos lados para lograr un menor movimiento de datos y actualizaciones en ambas direcciones. Este enfoque puede eludir la necesidad de intentar y poner algo juntos fuera de las bases de datos.

se esfuerzan por utilizar la última posible cliente de Oracle en el lado de SQL Server sin embargo. Recuerdo algunos defectos en el cliente 10.2.0.2 y conseguir que el cliente 10.2.0.4 requiriera su número "oficial" de registro o compra de Oracle o algo así.

Para grandes movimientos de datos (o tal vez incluso movimientos/actualizaciones que desea realizar de forma diaria o con menos frecuencia), definitivamente utilice una de las herramientas de ETL. Tuvimos Informatica para nuestros procesos de ETL, pero si SSIS puede obtener lo que necesita, también está bien.

+0

¿Quiere decir el Administrador corporativo de SQL Server, Oracle no de, ¿verdad? – Alkini

+0

Sí, estaba en el lado del Servidor SQL. No tengo los detalles en frente de mí, pero me tomó un poco de Google para averiguar el proceso exacto. – Tom

2

Crear un enlace de base de datos de Oracle a SQL Server (conectividad heterogénea). Puede usar este enlace para recuperar los datos del servidor Sql con una simple instrucción de selección. Si desea programar, puede usar una vista materializada o dbms_scheduler.

Una alternativa es poner sus datos en un archivo CSV, puede utilizar una tabla externa o sqlloader para cargar estos datos en la base de datos Oracle.

+0

Gracias; No había escuchado el término "Conectividad Heterogénea" antes. Suena (en 10g, al menos) que abarca Transparent Gateways y Generic Connectivity Agents (ODBC, OLE DB). – Alkini

+0

Al leer la guía de administración oficial y ver otra mención del uso de vistas materializadas, se hundió en lo brillante que podría ser esa solución (conectividad heterogénea + vistas materializadas). +1 – Alkini

1

Aquí es lo que hago: Conectar a SQL Server Oracle Developer SQL usando este enlace: https://kentgraziano.com/2013/01/14/tech-tip-connect-to-sql-server-using-oracle-sql-developer/

Después de haber agregado tarro de SQL, verá ficha SQL Server en la ventana Conexión:

enter image description here

Luego, conéctese a la Instancia de SQL.

Entonces instancia de SQL abierta y elija base de datos o tabla que desea copiar. Haga clic con el botón derecho en cualquier base de datos o tabla, luego haga clic en "copiar a Oracle" allí y elija la [base de datos] de usuario correcta en "Nombre de conexión de destino" donde desea copiar sus tablas.

También puede cambiar algunas propiedades allí. Haz clic en "Aceptar" y listo.

Avísame en caso de cualquier problema.

Cuestiones relacionadas