2009-06-01 5 views
1

Bonjour, Je suis nouveau ici, donc désolé, si ma question est trop simple. Cependant, peut-être avez-vous quelques conseils, exemples, liens, qui pourraient m'aider ... J'essaie de trouver quelque chose d'utile pour quelques jours, mais pas de résultats comme pour l'instant.Comment stocker automatiquement des données à partir d'Oracle dans SQL Server (selon un calendrier)

Je travaille dans un environnement distribué. J'ai un serveur Oracle à des centaines de kilomètres et un serveur MS SQL près de chez moi. J'écris une application en utilisant Visual Web Developer 2008 Express. J'ai besoin de données d'Oracle. Il ne vaut pas la peine d'interroger le serveur Oracle chaque fois que j'en ai besoin de données. Je préfère exécuter des requêtes Oracle une fois par nuit et stocker les résultats dans des tables locales (SQL Server). Je suppose que je devrais exécuter des requêtes via le planificateur Windows standard (Windows Server 2008). J'ai la connectivité de base - je peux ouvrir Oracle Database à partir de Visual Studio local.

Les questions sont les suivantes:

  1. Comment écrire une requête/procédure/fonction qui obtenir des données d'Oracle et de les mettre dans une table SQL Server (peut-être recréée avant chaque cycle de requête)?
  2. Comment puis-je exécuter une telle requête à partir de la ligne de commande (ou d'une autre manière à partir du planificateur)
  3. Quelles sont les conventions de dénomination applicables? Dans VS j'utilise quelque chose comme //IP.IP.IP.IP/Name et un utilisateur avec mot de passe.

Merci pour toute aide ou conseil.

Cordialement, Matteo

Répondre

2

je vous suggère de parler aux DBA de l'Oracle et les bases de données SQL Server, car il peut y avoir d'autres considérations que vous devez garder à l'esprit. (Intégrité des données, sécurité, propriété, etc.)

Une voie que vous pourriez suivre serait de mettre en œuvre des processus DTS (pour les anciennes bases de données) ou SSIS (pour les nouvelles versions de SQL Server) pour copier les données dans le planning souhaité . (Ceci est à peu près ce qu'ils ont été construits pour.)

0

Merci ...

Je suis le DBA pour le serveur SQL, qui ne servira qu'à ma demande. Pour Oracle, je veux juste lire les données et j'ai assez de privilèges et d'accord avec les DBA. La sécurité, la propriété et l'intégrité ne sont pas un problème pour le moment. J'ai juste besoin de conseils techniques pour obtenir des données d'Oracle aux tables MSSQL selon un calendrier. J'utilise MS SQL Server 2008 Express SP1. Je suis très proche de résoudre mon problème - j'ai établi des connexions et tout installé et fonctionnant. Je ne sais tout simplement pas comment lancer une requête qui obtiendrait des données d'Oracle et les mettrait dans MSSQL, de façon régulière, sans interaction manuelle.

J'ai une certaine expérience de la programmation, mais pas beaucoup dans les bases de données (excepté la création de requêtes SQl complexes). Par conséquent, un exemple ou des liens vers une description détaillée seraient utiles. Je ne suis pas sûr de nommer les conventions, les différences entre les procédures, les fonctions et les requêtes, les options de ligne de commande pour exécuter les procédures d'automatisation de la db et ainsi de suite. Je ne suis pas sûr non plus, quels mécanismes ou technologies sont disponibles dans l'édition MS SQL Server 2008 Express.

0

De combien de données parlons-nous? S'il y a une petite quantité que vous devez transférer tous les jours, vous pouvez écrire un stupide fetch et insérer un script dans la langue de votre choix. Vous avez seulement besoin de chercher de meilleures solutions si "sync" prendrait trop de ressources.

Questions connexes