IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Lien SQL Server vers Oracle


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Lien SQL Server vers Oracle
    Bonjour à tous ,

    Alors voilà le besoin initial :
    J'ai une table (Table1) sur un SQL Server dans laquelle arrive des données (KEY, CONTROLE_Table1, DATE_Table1, TIME_Table1)
    et j'aimerai transférer ces données dans une table (Table2) sur une BDD Oracle qui contient le champs suivant :
    KEY, CONTROLE_Table2, DATE_Table2, TIME_Table2, CONTROLE_Table1, DATE_Table1, TIME_Table1.

    J'ai exploré la piste du package SSIS mais après de multiple essai il semblerai que ce ne soit pas le bon choix.
    J'aimerai savoir s'il est possible de faire un "UPDATE" de la table2 en se basant sur le champ KEY qui est commun pour importer les données CONTROLE_Table1, DATE_Table1, TIME_Table1 de la Table1 dans la Table2.
    Et s'il est possible que cette mise à jour soit effectuée dès qu'il y a une nouvelle entrée dans Table1.

    Merci d'avance pour vos pistes de solution .

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Toujours dans ma quête de mettre à jour ma table oracle avec les données de ma table SQL Server, je suis partie dans une nouvel piste.
    J'ai créé un serveur lié dans le but de pouvoir faire un trigger qui se déclencherai à chaque nouvel insert dans ma base SQL server et qui mettrais donc à jour ma base Oracle via se serveur lié.
    Mais lorsque j'essai d'utiliser mon serveur lié j'ai l'erreur suivante :

    "Msg*7399, Niveau*16, État*1, Ligne*1
    Le fournisseur OLE DB "OraOLEDB.Oracle" du serveur lié "MYLINKEDSERVER" a rapporté une erreur. Le fournisseur n'a donné aucune information quant à cette erreur.
    Msg*7330, Niveau*16, État*2, Ligne*1
    Impossible d'extraire une ligne du fournisseur OLE DB "OraOLEDB.Oracle" du serveur lié "MYLINKEDSERVER".
    J'ai simplement exécuté la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM OPENQUERY(MYLINKEDSERVER, 'SELECT * FROM MYTABLE')
    Voilà si vous auriez une petite idée merci d'avance.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Avez vous installé le client de connexion Oracle sur le serveur SQL ? Sans cela aucune connexion vers un serveur Oracle n'est possible....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour merci pour ta réponse,

    Oui le client oracle est bien installé sur le SQL server, il s'agit de la version 11.

    Depuis j'ai réussi à résoudre mon erreur en cochant le paramètre "allow inprocess" dans les options du fournisseur OraOLEDB.Oracle dans SSMS.
    Ce qui fait que mon serveur lié fonctionne et je peut requêter depuis mon SQL server sur mon serveur Oracle.

    Néanmoins je ne parviens pas insérer ma requête dans un TRIGGER afin de la rendre automatique comme mon besoin initial.
    J'obtiens l'erreur suivante :
    "Le fournisseur OLE DB "OraOLEDB.Oracle" du serveur lié "MYLINKEDSERVER" a retourné le message "La nouvelle transaction ne peut pas s'inscrire dans le coordinateur de transactions spécifié.".
    Msg 7391, Niveau 16, État 2, Procédure MYTRIGGER, Ligne 15
    L'opération n'a pas pu être effectuée, car le fournisseur OLE DB "OraOLEDB.Oracle" du serveur lié "MYLINKEDSERVER" n'a pas réussi à démarrer une transaction distribuée."

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 577
    Points
    52 577
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Moriquendi Voir le message
    Néanmoins je ne parviens pas insérer ma requête dans un TRIGGER afin de la rendre automatique comme mon besoin initial.
    J'obtiens l'erreur suivante :
    Normal. Un tel déclencheur nécessite un commit à deux phases : http://blog.developpez.com/sqlpro/p1..._a_deux_phases

    Pour faire cela il faut mettre en œuvre DTC et préparez vos transactions avec la commande BEGIN DISTRIBUTED TRANSACTION et terminer explicitement votre traitement par un COMMIT ou un ROLLBACK.

    Personnellement c'est une solution que je vous déconseille ! En effet les performances vont en partir et si le système part en erreur, c'est généralement indémerdable et vous pouvez dans certains cas ne jamais voir l'erreur !
    Mieux vaut traiter cela de manière asynchrone.

    Quel est votre besoin fonctionnel ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Outil de migration de SQL-Server vers Oracle
    Par impsaid dans le forum Administration
    Réponses: 2
    Dernier message: 15/07/2009, 16h24
  2. probleme transaction distribuée de sql server vers oracle
    Par funboard dans le forum Administration
    Réponses: 4
    Dernier message: 24/01/2008, 14h57
  3. Portage MS SQL Server vers Oracle 9i
    Par Gugli dans le forum SQL
    Réponses: 2
    Dernier message: 17/09/2007, 10h50
  4. Importation d'une base de donnée sql server vers oracle
    Par delphy456 dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/01/2006, 14h44
  5. migration de données de sql server vers oracle
    Par delphy123 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/09/2005, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo