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

Adaptive Server Enterprise Sybase Discussion :

[ASE]problème migration oracle sybase ASE


Sujet :

Adaptive Server Enterprise Sybase

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 4
    Par défaut [ASE]problème migration oracle sybase ASE
    Bonjour,

    J'effectue actuellement une migration oracle -> Sybase,

    J'ai actuellement un problème sur la requète oracle actuelle ci dessous que je dois convertir pour Sybase ( Adaptive Server Enterprise):

    Les trois tables sur lesquelles s'effectuent cette requete sont les suivantes

    TABLE EMPLACEMENTDATA (
    EMPID numeric(10,0) IDENTITY,
    BOITE_BOITEID numeric(10,0) NULL,
    STATE numeric(18,0) NOT NULL,
    X numeric(18,0) NOT NULL,
    Y numeric(18,0) NOT NULL,
    CONTENTS numeric(18,0) NOT NULL,
    RESERVATION varchar(255) NULL,
    RESSOURCESTOCKEE_RESID numeric(10,0) NULL

    et

    TABLE RESSOURCE (
    IDRESSOURCE numeric(10,0) IDENTITY,
    IDPTR numeric(10,0) NULL,
    DATECREATIONRESSOURCE datetime NULL,
    HEURECREATIONRESSOURCE datetime NULL,
    IDTYPERESSOURCE numeric(6,0) NULL,
    IDTYPECONDITIONNEMENT numeric(6,0) NULL,
    IDPATIENT numeric(6,0) NULL,
    IDACTION_MERE numeric(6,0) NULL,
    CODEBARRERESSOURCE varchar(13) NULL,
    QUANTITERESSOURCE numeric(6,0) NULL,
    IDUNITEQUANTITERESSOURCE numeric(6,0) NULL,
    QUALITERESSOURCE varchar(25) NULL,
    COMMENTAIRERESSOURCE varchar(255) NULL,
    CONFORMITERESSOURCE numeric(18,0) NOT NULL,
    IDEMPLACEMENTDATA numeric(10,0) NULL,
    NUMEROEXT1RESSOURCE varchar(25) NULL,
    NUMEROEXT2RESSOURCE varchar(25) NULL,
    NUMEROEXT3RESSOURCE varchar(25) NULL,
    ETATRESSOURCE varchar(20) NULL,
    IDDEVENIR numeric(6,0) NULL,
    TUMORALE char(1) NULL
    )


    TABLE ACTIONELEMENTAIRE (
    IDACTION numeric(6,0) IDENTITY,
    IDRESSOURCE numeric(10,0) NOT NULL,
    IDTYPEACTION numeric(6,0) NOT NULL,
    IDCOLLABORATEUR numeric(6,0) NULL,
    DATEACTION datetime NOT NULL,
    CODEBARREACTION varchar(13) NULL,
    NBELEMENTS numeric(18,0) NULL,
    QUANTITEUTILISEE numeric(18,0) NULL
    )



    select
    lpad('L......................................................',4*(level-1)) || r.IDRESSOURCE as idRes,
    r.IDRESSOURCE as idRessource,
    p.NOMPATIENT||' '||p.PRENOMPATIENT as nomInd,
    level
    from
    RESSOURCE r LEFT OUTER JOIN PATIENT p ON p.IDPATIENT = r.IDPATIENT,
    RESSOURCE r2 LEFT OUTER JOIN EMPLACEMENTDATA ed ON ed.RESSOURCESTOCKEE_RESID = r2.IDRESSOURCE
    where
    r.IDRESSOURCE = r2.IDRESSOURCE
    and r.idpatient = {IDPATIENT}

    start with r.IDACTION_MERE is null
    connect by (
    select ae.IDRESSOURCE
    from ACTIONELEMENTAIRE ae
    where ae.IDACTION= r.IDACTION_MERE)
    = prior r.IDRESSOURCE order siblings by r.IDRESSOURCE desc


    Quelqu'un habitué à ce genre de requête peut il m'aider, je suis complétement bloqué.

    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 36
    Par défaut
    Je ne pense pas pouvoir t'aider (au vu de mes compétences ^^), mais si tu as un message d'erreur, je crois qu'il serait utile de nous en faire part, celà risque de nous aider.


    P.S. : je dis que je ne peux pas t'aider parceque je ne connais que Sybase, MS Sql Server et MySql, et qu'en ce moment je fais une migration Sybase ASA => ASE (quoique je suis en stand-by là dessus, ouf!)

    P.S. 2 : Bonne chance! Sincèrement.

  3. #3
    Membre confirmé

    Inscrit en
    Décembre 2002
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 68
    Par défaut
    bonjour,
    je ne connais pas oracle donc je ne vais pas pouvoir t'aider entièrement mais déjà te donner quelques trucs sur syb.

    la concaténation sur sybase se fait avec des +.
    les jointures sont exprimés dnas la clause where avec des =
    une jointure à droite =*
    une jointure à gauche *=

    voici un début de traduction
    par contre la notation {} sous oracle, je ne sias pas ce que ça veut dire
    de même pour start with.

    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
    17
    18
    19
     
    select
         lpad('L......................................................',4*(level-1)) +
           r.IDRESSOURCE as idRes,
         r.IDRESSOURCE as idRessource,
         p.NOMPATIENT+' '+p.PRENOMPATIENT as nomInd,
         level
    from
         RESSOURCE r, 
         PATIENT p, 
         RESSOURCE r2, 
         EMPLACEMENTDATA ed 
    where
        p.IDPATIENT*= r.IDPATIENT
        and ed.RESSOURCESTOCKEE_RESID *= r2.IDRESSOURCE
        and r.IDRESSOURCE = r2.IDRESSOURCE
        and r.idpatient = ?????
     
    ?????

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    bonjour,

    vers quelle version d'ASE migrez-vous ? Plus la version est récente et plus il y a de chances de trouver des fonctions & syntaxes qui facilitent la vie.

  5. #5
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Oui, cela dépend effectivement avant tout des versions de ASE (ex. pas de jointures ANSI avant la 12 !)

    Si cela peut vous aider : Le LPAD() Oracle par exemple, c'est un Replicate() sous ASE : http://fadace.developpez.com/sgbdcmp/fonctions
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. [ASE]Gateway Oracle Sybase
    Par ranou9 dans le forum Adaptive Server Enterprise
    Réponses: 6
    Dernier message: 21/11/2007, 14h40
  2. [ASE]Proxy tables entre Sybase et Oracle
    Par bedum dans le forum Sybase
    Réponses: 3
    Dernier message: 04/07/2007, 07h50
  3. [ASE->MSSQL]Migration de shema sybase sous SOLARIS
    Par DBA_doom dans le forum Sybase
    Réponses: 15
    Dernier message: 17/05/2007, 17h11
  4. [Sybase] Problème de type sous ASE
    Par Hotchotte dans le forum Sybase
    Réponses: 1
    Dernier message: 18/12/2004, 11h04
  5. Problème Migration Oracle
    Par bob_doulz dans le forum Administration
    Réponses: 4
    Dernier message: 20/04/2004, 09h56

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