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

SQL Oracle Discussion :

Select via un dblink sur une table sql server


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Par défaut Select via un dblink sur une table sql server
    Bonjour,

    j'ai un soucis pour créer une procédure stockée ORACLE qui utilise des tables d'une base SQLSERVER.

    J'ai créé un DBLINK, mis les droits côté Sql Server mais voici ce que j'obtiens :

    Quand je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * from TOTO@dblink;
    ça fonctionne, j'ai des données qui apparaissent.

    Mais sachant que les colonnes de la table TOTO côté SqlServer sont
    nom
    et
    prenom
    lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom from TOTO@dblink
    j'ai l'erreur suivant qui apparaît :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00201 : Identifier 'nom' must be declared
    Et pourtant j'ai bien les droits de lecture de la table puisqu'avec un
    SELECT *
    ça fonctionne !!

    Quelqu'un a déjà rencontré ce pb ??

    Bises à tous

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Par défaut
    A mon humble avis, l'erreur PLS-00201 est une erreur d'exécution de procédure.
    Vérifier les droits d'execution

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Par défaut
    Les droits d'exécutions me paraissent bons...en plus même si je fais mon SELECT en dehors d'une procédure, je ne peux pas selectionner les colonnes une à une.

    Exple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom from TOTO@dblink;
    donne
    ORA-00904 : Invalid column name
    Merci pour ta réponse en tout cas

  4. #4
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT "nom" from TOTO@dblink;
    ca donne quoi ?

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Par défaut
    Même chose...par contre je viens de m'apercevoir que si le nom de la colonne est en majhuscule ça marche...

    exple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select NOM from TOTO@dblink;
    --> OK !!
    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom from TOTO@dblink;
    --> KO

    le pb c'est que je peux pas demander à l'application cliente (sql server) de modifier des miliers de noms de colonne !!

  6. #6
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 126
    Par défaut
    pardon je me suis embrouillée

    en fait je voulais dire que si côté sql server le nom est en majuscule alors ça marche

    après je peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select NOM from TOTO@dblink;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select nom from TOTO@dblink;
    ça marchera quand même...

    c'est que quand les noms de colonnes ne sont pas en majuscule côté sql server que ça marche plus !!

    comment dire à ORACLE de me transformer les noms (et pas le contenu) en majuscule afin qu'il reconnaisse les colonnes, par exple ??

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

Discussions similaires

  1. Historisation des modifications effectuées sur une table SQL
    Par Drooxy dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/10/2007, 13h29
  2. Réponses: 5
    Dernier message: 26/02/2007, 01h50
  3. selection comlexe de champs sur une table
    Par allowen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/03/2006, 15h00
  4. lier une table Sql Server sur Access
    Par JerBi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/01/2006, 16h27
  5. Pooling sur une table SQL
    Par Jean-Jacques Engels dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/11/2004, 23h10

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