2010-04-30 6 views
3

Je suis confronté à un besoin d'accès pour la génération de rapports sur certaines données qui résident dans Oracle et d'autres données qui résident dans une base de données SQL Server 2000. Pour diverses raisons, ils vivent sur différents côtés d'un pare-feu. Maintenant, nous envisageons de faire une exportation/importation depuis le serveur sql vers Oracle et je voudrais des conseils sur la meilleure façon d'y parvenir ... La procédure devra être entièrement automatisée et fonctionner tous les soirs, ce qui exclut l'utilisation les outils de développement SQL. Je ne peux pas non plus établir de lien direct entre les bases de données de notre côté (oracle), car le pare-feu est un obstacle. Les données doivent être transformées dans le processus d'un schéma en étoile à une table dés-normalisée prête pour la génération de rapports. Ce à quoi je pense est d'écrire une requête monstre pour SQL Server (que j'ai déjà pour la plupart) qui va dénormaliser et lire les données de SQL Server dans un fichier plat en utilisant l'équivalent sqlplus du serveur sql comme prévu tâche, vider dans un emplacement bien connu, puis sur le côté oracle avoir un travail cron qui copie le fichier et le charge avec SQL loader et reconstruit les index, etcMeilleur moyen de migrer l'exportation/importation de SQL Server vers Oracle

Tout cela est faisable, mais très manuel. Existe-t-il une ou une combinaison d'outils FOSS ou Oracle standard/SQL Server qui pourrait automatiser cela pour moi? la complexité irréductible est la requête d'un côté et la construction d'index sur l'autre, mais j'aimerais ne pas avoir à écrire le détail de dumping CSV ou le script SQL loader, juste dire vider cette vue sur CSV d'un côté, et sur le autre tronquer et insérer dans ce tableau de CSV et ne pas s'inquiéter de la cartographie des noms de colonnes et de tous les autres arcane sqlldr vaudou ...

meilleures pratiques? pensées? commentaires?

edit: J'ai environ 50 colonnes de tous les différents types et longueurs dans mon jeu de données, ce qui est la raison pour laquelle je préfère ne pas avoir à écrire comment générer et carte chaque colonne unique ...

+0

duplication possible de http://stackoverflow.com/questions/1484814/microsoft-sql-server-to-oracle-data-migration-conversion-other-rdbms-ok-too – APC

+0

non J'ai lu cette question avant de poster , la réponse recommande oracl sql developer et la migration workbech. Comme indiqué dans la question, cela doit être scripté pour fonctionner automatiquement, sql développeur nécessite la conduite de l'utilisateur à moins que je manque ma conjecture ... – matao

Répondre

3

"Les données doivent être transformées dans le processus d'un schéma en étoile à une table dé-normalisée prête pour la génération de rapports."

Vous êtes vraiment à la recherche d'un outil ETL. Si vous n'avez pas d'argent dans la caisse, je vous suggère de consulter les offres Open Source Talend et Pentaho.

+0

hmmm devra certainement se pencher sur ces options. Je travaille en tant que consultant donc je ne suis pas intéressé à pousser une solution coûteuse pour un problème simple. ETL ressemble à peu près à ce que je fais, avec la mise en garde que j'ai besoin de mettre en place le travail sur les 2 côtés d'un pare-feu ... :-( – matao

+0

pas d'autres réponses, donc une réponse à une question! – matao