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

MS SQL Server Discussion :

Lier un serveur ORACLE à SQl Server


Sujet :

MS SQL Server

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut Lier un serveur ORACLE à SQl Server
    Bonjour,

    J’ai une base Access qui contient des tables liés à une autre base de données Oracle, la liaison se fait à travers une source ODBC (Microsoft ODBC for ORACLE) dont la chaine de connexion est :
    " ODBC ; DSN=MGRTEST ; UID=MGR ; SERVER=MGRFORTEST ;;TABLE=MGR.MFGS "

    J’ai migré récemment de Access vers SQL Server 2008, le problème c’est que je n’arrive pas à lier ma nouvelle base SQL Server 2008 à ORACLE ;
    J’ai consulté l’exemple fourni par microsoft :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC sp_addlinkedserver
       @server = 'LONDON Mktg',
       @srvproduct = 'Oracle',
       @provider = 'MSDAORA',
       @datasrc = 'MyServer'
    GO
    J'ai effectué plusieurs tentatives sans réussir à effectuer la liaison car apparament je n'ai pas su où mettre la chaine de connexion ODBC dans ces paramètres.

    Est ce que quelqu'un peux m'aider à faire la liaison à travers cette source ODBC et le sp_addlinkedserver ???

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    D'après l'exemple que vous avez fourni , vous allez utiliser le driver OLEDB et non ODBC.

    Quel problème rencontrez vous exactement ? Quel est le message d'erreur ?

    ++

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Citation Envoyé par mikedavem Voir le message

    Bonsoir,

    D'après l'exemple que vous avez fourni , vous allez utiliser le driver OLEDB et non ODBC.

    Bonsoir,

    Effectivement l’exemple fournis (par MSDN/Microsoft) utilise le driver OLEDB,
    Alors que moi je cherche le code qui me permet de faire la liaison à travers le driver ODBC, que j’avais utilisé dans la base Access pour se connecter à ORACLE.

    En fait j’ai migré d’Access vers SQL Server 2008 et je voudrais utiliser ce même driver ODBC pour faire la liaison SQL Server/ORACLE, alors que les exemples fournis par Microsoft traitent seulement le cas des connexions avec OLEDB.

  4. #4
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Pour utiliser ODBC vous pouvez utiliser le provider MSDASQL et vous devez avoir le nom de la source de données ODBC Oracle spécifiée comme DSN système pour pouvoir être utilisée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXEC sp_addlinkedserver 
    @server = 'serveurLie', 
    @srvproduct = 'Oracle',
    @provider = 'MSDASQL',
    @provstr = 'dsn=dsnOracleODBC;UID=user;PWD=password;'
    ++

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Citation Envoyé par mikedavem Voir le message
    Pour utiliser ODBC vous pouvez utiliser le provider MSDASQL et vous devez avoir le nom de la source de données ODBC Oracle spécifiée comme DSN système pour pouvoir être utilisée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXEC sp_addlinkedserver 
    @server = 'serveurLie', 
    @srvproduct = 'Oracle',
    @provider = 'MSDASQL',
    @provstr = 'dsn=dsnOracleODBC;UID=user;PWD=password;'
    ++
    Bonjour,
    Je te remercie tout d’abord pour l’aide.

    Je reçois ce message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Échec de la récupération de données pour cette demande. 
     
    (Microsoft.SqlServer.Management.Sdk.Sfc)
     
    ------------------------------
    INFORMATIONS SUPPLÉMENTAIRES*:
     
    Une exception s'est produite lors de l'exécution d'une instruction ou d'un lot Transact-SQL. 
     
    (Microsoft.SqlServer.ConnectionInfo)
     
    ------------------------------
     
    Impossible d'initialiser l'objet de la source de données du fournisseur OLE DB 'MSDASQL' du 
     
    serveur lié 'SRVORA'. (Microsoft SQL Server, Erreur*: 7303)

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bonjour,

    Le problème persiste !
    Est-ce quelqu’un peux m’aider sur cette erreur ? Je ne peux plus avancer, j’ai des requêtes à réaliser qui nécessite les tables d’ORACLE et SQL Server a la fois.

    En fait j’utilise SQL Server 2008 je voulais ajouter un serveur lié ORACLE via un driver ODBC dont la chaine de connexion est :
    " ODBC ; DSN=MGRTEST ; UID= ; SERVER=MGRFORTEST ;;TABLE=MGR.MFGS "

    Le code que j’ai exécuté dans SQL Server est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXEC sp_addlinkedserver 
    @server = 'SRV', 
    @srvproduct = 'Oracle',
    @provider = 'MSDASQL',
    @provstr = 'dsn= MGRTEST;UID=MGR; pwd=pass ;'
    Je reçois ce message d’erreur à chaque fois que je veux afficher les tables liés :

    Impossible d'initialiser l'objet de la source de données du fournisseur OLE DB 'MSDASQL' du serveur lié 'SRVORA'. (Microsoft SQL Server, Erreur*: 7303)

    j'espère que quelqu'un pourra m'aider sur cette erreur et vous en remercie d'avance.

  7. #7
    Nouveau candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Bonjour,
    J'ai exactement le même problème/message d'erreur pour lié un serveur postgres sur sql server 2008 via driver ODBC.

    Si vous aviez des solutions...

  8. #8
    Membre expérimenté

    Profil pro
    En reconversion
    Inscrit en
    Novembre 2007
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Novembre 2007
    Messages : 180
    Par défaut
    Bonjour,
    Ayant le même problème de compréhension que vous pour les paramètres d'un serveur lié j'ai trouvé une astuce que j'ai déjà donné avant. Vous utilisez un projet Access qui pointent sur la bdd sql server, de là vous avez un assistant qui fait tout à votre place, cela passe par le menu contextuel "lier les tables" puis odbc en bas de la liste. Je l'ai fait avec une bdd Paradox ne trouvant pas les paramètres, cela fonctionne sans soucis. Bien sûr cela ne vous empèche pas de créer le fichier .dsn mais vous pouvez le faire dans la procédure de l'assistant d'Access, pas besoin de le faire à coté.
    Bon courage

  9. #9
    Nouveau candidat au Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Par défaut
    Bonjour,
    Mon problème était différent...
    Postgres en 32 bits et sql server 2008 en 64 bits. Le fournisseur MSDASQL de sqlserver 2008 ne prend en compte que des drivers 64 bits et postgres en est dépourvu. J'utilise donc un driver 64 bits "expérimental" pour AMD et Intel qui à l'air d'être opérationnel malgrès quelques problèmes liés à certains types de données (text, nvarchar...). Après avoir fixé ces problèmes, j'espere que je pourrai mettre à jour le postgres via des SSIS.

    Cordialement

  10. #10
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonsoir,

    Et en utilisant le paramètre @datasrc ? (Il faut au préalable que votre DSN MGRTEST soit configuré en tant que DSN système sur votre serveur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC sp_addlinkedserver 
       @server = 'SRV', 
       @srvproduct = 'ORACLE',
       @provider = 'MSDASQL', 
       @datasrc = 'MGRTEST'
    GO
    ++

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2007
    Messages : 57
    Par défaut
    Bonjour,

    J’avais résolu mon problème avec cette chaine de connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    EXEC sp_addlinkedserver @server = 'SRV', 
    @srvproduct = 'MSDASQL', 
    @provider = 'MSDASQL',
     @provstr = 'DRIVER={Microsoft ODBC for Oracle};SERVER=MGRTEST;UID=id;PWD=password;'
    Go


    Citation Envoyé par mikedavem Voir le message
    Bonsoir,

    Et en utilisant le paramètre @datasrc ? (Il faut au préalable que votre DSN MGRTEST soit configuré en tant que DSN système sur votre serveur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC sp_addlinkedserver 
       @server = 'SRV', 
       @srvproduct = 'ORACLE',
       @provider = 'MSDASQL', 
       @datasrc = 'MGRTEST'
    GO
    ++
    Cette chaine de connexion fonctionne aussi, il faut juste ajouter l’authentification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC sp_addlinkedserver 
       @server = 'SRV', 
       @srvproduct = 'ORACLE',
       @provider = 'MSDASQL', 
       @datasrc = 'MGRTEST;UID=id;PWD=password;'
    GO
    Merci à vous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Oracle, SQL Server sur 1 seul serveur
    Par loustic dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 02/02/2009, 09h42
  2. [Oracle/SQL-Server] Comment crypter une base de données ?
    Par [DreaMs] dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 28/11/2005, 18h02
  3. Connection Serveur Distant SQL Server 2000
    Par LeNeutrino dans le forum JBuilder
    Réponses: 2
    Dernier message: 16/11/2005, 10h45
  4. oracle,sql server et my sql
    Par latitude dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 01/03/2005, 09h24
  5. conflit oracle sql server ?
    Par skaii dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 10/02/2005, 18h28

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