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

PL/SQL Oracle Discussion :

Récupérer une séquence SQL Server depuis Oracle


Sujet :

PL/SQL Oracle

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Récupérer une séquence SQL Server depuis Oracle
    Bonjour,

    J'ai un serveur Oracle 11gr2 et un serveur SQL serveur 2012. J'accède à SQL server Via Oracle (DG4ODBC) par un dblink . J'arrive à lire et écrire dans les tables sql server sans aucun soucis.
    mais je n'arrive pas à lire les séquences sql server.

    exemple pour une lire une table: select mysqlcolumn from mysqltable@myoraclelink ça marche.

    exemple pour une séquence : select nextval from sqlsequence@myoraclelink ça ne marche pas.

    Pour contourner le problème je veux utiliser DBMS_HS_PASSTHROUGH comme ci-dessous.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    DECLARE
      l_Cursor Binary_Integer;
      R_sql VARCHAR2(200);
      Res_Out Binary_Integer;
    BEGIN
        R_sql:='SELECT NEXT VALUE FOR sequencesqlt';
        L_Cursor := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@myoraclelink;
        DBMS_HS_PASSTHROUGH.PARSE@myoraclelink(l_Cursor, R_sql);
        BMS_HS_PASSTHROUGH.Get_Value@myoraclelink(l_Cursor, 1, R_sql);
        DBMS_OUTPUT.PUT_LINE('R_sql');
        DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@myoraclelink(L_Cursor);
    END;
    /
    J'ai une erreur de type

    ORA-28552: PassThrough SQL : erreur de flux d'appels
    ORA-06512: à ligne 8
    Je sèche pour l'instant, merci pour votre aide.

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Tu as essayé la solution de créer une fonction sur la base SQLServeur pour renvoyer la valeur d'une séquence ?
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'exclus pour l'instant cette option car la base "sql server" est celle d'un progiciel pour lequel il faudra sans doute l'autorisation de l'éditeur.
    Je ne suis pas certain que cette piste soit validée.

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Vous avez bien le droit SELECT sur la séquence via le DBLINK ?

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2010
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Normalement oui dans la mesure ou le DB Link est créé avec le user/mot de passe du compte SA de Sql server.
    Je lis bien les données des tables "sql server" mais pas la séquence.

Discussions similaires

  1. Comment récupérer une table SQL SERVER 2005 ?
    Par _celine_ dans le forum Administration
    Réponses: 3
    Dernier message: 08/10/2009, 11h10
  2. Réponses: 1
    Dernier message: 15/02/2009, 09h29
  3. accès tables sql server depuis oracle par dblink
    Par totof31 dans le forum Administration
    Réponses: 1
    Dernier message: 09/05/2007, 08h59
  4. Accéder à une bd SQl Server depuis le net ?
    Par Root_JDK dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 17/01/2007, 10h30
  5. appel procedure sql server depuis oracle
    Par Jdubernat dans le forum Oracle
    Réponses: 2
    Dernier message: 21/12/2006, 15h43

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