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

Sybase Discussion :

[ASE->MSSQL]Migration de shema sybase sous SOLARIS


Sujet :

Sybase

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut [ASE->MSSQL]Migration de shema sybase sous SOLARIS
    Bonjour tt le monde, voici mon probleme :

    je dois exporter le shema d une base de donnee Sybase (qui tourne sous SOLARIS) et qui est exploite via l outil Xmanager installe sous win NT. la base de donnee de destination est MSQL server 2005.

    Est ce que Sybase Central peut etre utilise via Xmanager pour extraire le fichier DDL ou bien il y a une autre solution (un script isql par exemple )? ...

    MERci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Sybase Central (dans les versions à peu près récentes) inclus un outil d'extraction de DDL: ddlgen.

    Par contre, il faut prévoir un peu d'adaptation, puisque la syntaxe T-SQL Sybase n'est pas identique à celle de Microsoft.

    Alternativement des outils commes PowerDesigner (aussi appelé PowerAMC en France) peuvent être utilisé.

    Michael

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Merci de m avoir repondu si rapidement.
    Le probleme c est que je sais pas comment acceder a cet outil (Sybase central) a travers Xmanager.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Je ne connais pas Xmanager, mais un check rapide dans Google indique qu'il s'agit (entre autre) d'un serveur X pour Windows. Si c'est le cas il faut simplement ouvrir un shell (terminal) dans l'environnement Solaris et lancer Sybase Central (la commande exacte à lancer dépend de la version de Sybase qui est installée). Il faut chercher un script appelé scjview.sh dans l'arborescence Sybase.

    Michael

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    c un bon debut.
    un peu d histoire pour se mettre sur la meme longueur d onde : le grand probleme c que j ai pas acces moi meme au centre ou se trouve notre base Sybase. il y a une autre personne qui a l acces ms qui connait pas trop en informatiques, il ne fais qu executer des scripts et prendre les resultats sous forme de fichiers.
    Ceci dit, il me faut lui donner un script qui fait tt, a savoir donner en output le fichier DDL.
    est ce que je peux utiliser ce chemin que j ai trouve sur google, si c est un chemin par default je crois qu il fera l affaire :
    $SYBASE/shared/sybcentral43

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Il faut déjà savoir quelle version d'ASE tourne sur le serveur.

    S'il s'agit de 12.5 ou plus récent, alors tu peux exécuter ddlgen directement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $SYBASE/ASEP/bin/ddlgen -U<user> -P<password> -Shostname:port -D<nom_base> >fichier_output.sql
    Donc, par exemple si le nom du host est "db1", que Sybase écoute sur le port 5000, et qu'on veut extraire le DDL de la base "production":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $SYBASE/ASEP/bin/ddlgen -Usa -Ppassword_sa -Sdb1:5000 -Dproduction >fichier_output.sql
    Par contre, si c'est une version plus ancienne de Sybase ASE alors tu n'aura pas ddlgen installé. Dans ce cas la situation est plus compliquée.
    Une possibilité est dbschema.pl (http://www.midsomer.org), mais cela requiert l'installation de perl et sybperl, ce qui est peut-être compliqué.

    Michael

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Merci pour cet alternative, ms j ai encore un petit probleme concernant le numero de port et le password. En effet, les parametres utilises par l administrateur sont reunie ds une variable de la forme :
    DBPARAMS="-U${CSDUSR} -P${CSDPWD} -S${CSDSRV} -w1000"

    sachant que les variables CSDUSR CSDPWD CSDSRV sont connues (utilisateur, password , nom du serveur).

    la question est la suivante : est ce que c est possible d utiliser DBPARAMS comme parametre de ddlgen ?

    c a d : ddlgen $DBPARAMS >fichier_DDL.sql

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Oui, mais CSDSRV doit être modifié pour être de la form "host:port" plutôt que le nom de serveur référencé dans le fichier interfaces, et il faut supprimer le -w1000 que DDLGEN ne comprend pas.

    Le fichier interfaces se trouve dans $SYBASE, et dans ce fichier on peut trouver le hostname et le port à utiliser pour CSDSRV.

    Michael

  9. #9
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    En ce qui concerne le DDL,PowerAMC est plus "futé" que DDLGen et peut transformer un script ASE en un SQL d'un coup de cuillère à pot.

    Les 2 T-SQL sont sensiblement différents.

    Sinon, pour le transfert, pourquoi ne pas utiliser bcp de Sybase en option -c pour l'export, et bcp in MS-SQL toujours en option -c pour l'import ?

    Quant au terminal X, oui, Sybase Central de Sun Solaris est utilisable en Terminal X, mais pourquoi alors ne pas utiliser le Sybase Central sous Windows directement ?

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Un tres grand merci a vous. J ai pu generer mon fichier DDL. une autre question pour la phase du forward engineering. On a un outil qui s appelle Rational Rose avec license, est ce qu il peux faire la conversion du shema Sybase vers la base de donnee MSQL server 2005 ? (la version date de 2002) ou bien j ai besoin d un outil comme celui que vs avez recommande a savoir power AMC.

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    j ai attenndu vos reponses tte la journee http://www.developpez.net/forums/ima...s/icon_sad.gif. je sais pas si vs aveez une reponse a ma derniere question ou pas, en tout cas j espere que vs etes tous en bonne sante. Merci pour mpeppler anisi qu a fadace, sans vos conseils je n aurai jamais avance d un pas.

  12. #12
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Rational le fera peut-être, mais PowerAMC est meilleur pour ce qui est de la génération du code.

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    bonjour les amis,

    j ai pu generer mon fichier DDL (fichier.sql), le probleme c est qu il ne me permet pas de creer les tables. il contient pas les commande (create Table ...). est ce que le commande : Generate Database Objects DDL est celle que je dois utiliser sous Sybase central ou il y a une autre ?? Help

  14. #14
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 307
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 307
    Points : 1 828
    Points
    1 828
    Par défaut
    Je ne crois pas qu'il y ait une autre commande.
    Il faut bien faire attention de ne pas cocher les options dans le pop-up, puisque les options cochées sont exclues de l'output.

    Michael

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    ca parait logique puisque qd tu coche le tout, le script devient quasiment vide.
    merci pr cette precieuse remarque

  16. #16
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    Rebonjour tt le monde,
    Merci pour votre aide concernant la creation du fichier DDL, j ai rien coche et ca marche. pourtant j arrive pas a faire le reverse enginnering en utilisant le logiciel Rational Rose. si qlq sait comment faire meme avec Power AMC j en serais tres reconnaissant. ma base de donnee de destination est Oracle 9.
    Sybase 12 ---> Oracle 9

    un extrait de mon script DDL est le suivant :

    ************************************************
    ************************************************

    -----------------------------------------------------------------------------
    -- DDL for Database 'GRAN_seg1'
    -----------------------------------------------------------------------------
    print 'GRAN_seg1'
    go

    use master
    go

    create database GRAN_seg1 on datadev2 = 16500, logdev1 = 1000, datadev1 = 13500, datadev3 = 7057, datadev4 = 5760, datadev5 = 833, datadev6 = 7350
    log on datadev2 = 1000, logdev1 = 2000, logdev2 = 7400
    with override
    go


    -----------------------------------------------------------------------------
    -- DDL for User 'brf'
    -----------------------------------------------------------------------------
    print 'brf'

    use GRAN_seg1
    go

    exec sp_adduser 'brf'
    go


    -----------------------------------------------------------------------------
    -- DDL for User 'nwsa'
    -----------------------------------------------------------------------------
    print 'nwsa'

    use GRAN_seg1
    go

    exec sp_adduser 'nwsa'
    go


    -----------------------------------------------------------------------------
    -- DDL for Table'GRAN_seg1.dbo.CELL_GPRS_OL'
    -----------------------------------------------------------------------------
    print 'Creating Table GRAN_seg1.dbo.CELL_GPRS_OL'
    go

    use GRAN_seg1
    go

    setuser 'dbo'
    go

    create table CELL_GPRS_OL (
    ID int not null ,
    MO char(16) not null ,
    CFAIL int not null ,
    ALLPDCHSCANSUB numeric(15,0) null ,
    PREEMTPDCHSUB numeric(15,0) null ,
    ALLPDCHACCSUB numeric(15,0) null ,
    ALLPDCHACTACCSUB numeric(15,0) null ,
    MC19DLSCHEDSUB numeric(15,0) null ,
    MC19DLACKSUB numeric(15,0) null ,
    MC19ULSCHEDSUB numeric(15,0) null ,
    MC19ULACKSUB numeric(15,0) null ,
    CS14DLSCHEDSUB numeric(15,0) null ,
    CS14DLACKSUB numeric(15,0) null ,
    CS12DLSCHEDSUB numeric(15,0) null ,
    CS12DLACKSUB numeric(15,0) null ,
    CS12ULSCHEDSUB numeric(15,0) null ,
    CS12ULACKSUB numeric(15,0) null ,
    LDISRRSUB numeric(15,0) null ,
    IAULRELSUB numeric(15,0) null
    )
    lock allpages
    on 'default'
    go


    setuser
    go

    -----------------------------------------------------------------------------
    -- DDL for Index 'I_CELL_GPRS_OL_cluster'
    -----------------------------------------------------------------------------
    print 'Creating Index I_CELL_GPRS_OL_cluster'
    go

    create unique clustered index I_CELL_GPRS_OL_cluster
    on GRAN_seg1.dbo.CELL_GPRS_OL ( ID, MO)
    with ignore_dup_key
    go


    -----------------------------------------------------------------------------
    -- DDL for Table'GRAN_seg1.dbo.SYSTEM_VLR_DATA'
    -----------------------------------------------------------------------------
    print 'Creating Table GRAN_seg1.dbo.SYSTEM_VLR_DATA'
    go

    use GRAN_seg1
    go

    setuser 'dbo'
    go

    create table SYSTEM_VLR_DATA (
    ID int not null ,
    MO char(16) not null ,
    CFAIL int not null ,
    PROCLOAD real not null ,
    ACCLOAD real not null ,
    NSCAN real not null ,
    NOFFORG real not null ,
    NOFFIEX real not null ,
    NFTDORG real not null ,
    NFTDIEX real not null ,
    NOFFMLO real not null ,
    NOFFMHI real not null ,
    NFTDMLO real not null ,
    NFTDMHI real not null ,
    NCAPREQ real not null ,
    NCAPREJ real not null ,
    NOFFPRIO real not null ,
    NOFFNPRIO real not null ,
    NFTDPRIO real not null ,
    NFTDNPRIO real not null ,
    NOFFTCAP real not null ,
    NFTDTCAP real not null ,
    RESTARTSM real not null ,
    RESTARTSA real not null ,
    RESTARTLM real not null ,
    RESTARTLA real not null ,
    RELOADM real not null ,
    RELOADA real not null ,
    DOWNTIME real not null ,
    ACTSUB real not null ,
    HLRSUB real not null ,
    ONWSUB real not null ,
    ATTSUB real not null
    )
    lock allpages
    on 'default'
    go


    setuser
    go

    -----------------------------------------------------------------------------
    -- DDL for Index 'I_SYSTEM_VLR_DATA_cluster'
    -----------------------------------------------------------------------------
    print 'Creating Index I_SYSTEM_VLR_DATA_cluster'
    go

    create unique clustered index I_SYSTEM_VLR_DATA_cluster
    on GRAN_seg1.dbo.SYSTEM_VLR_DATA ( ID, MO)
    with ignore_dup_key
    go


    -----------------------------------------------------------------------------
    -- DDL for Table'GRAN_seg1.dbo.CELLREL_INDEX_S_CELL_T_CELL'
    -----------------------------------------------------------------------------
    print 'Creating Table GRAN_seg1.dbo.CELLREL_INDEX_S_CELL_T_CELL'
    go

    use GRAN_seg1
    go

    setuser 'dbo'
    go

    create table CELLREL_INDEX_S_CELL_T_CELL (
    MO_ID int not null ,
    MO char(16) not null ,
    REL char(1) not null ,
    SOURCE_BSC char(16) not null ,
    SOURCE_CELL char(16) not null ,
    TARGET_BSC char(16) not null ,
    TARGET_CELL char(16) not null
    )
    lock allpages
    on 'default'
    go


    setuser
    go

    -----------------------------------------------------------------------------
    -- DDL for Index 'I_CELLREL_INDEX_S_CELL_T_CELL'
    -----------------------------------------------------------------------------
    print 'Creating Index I_CELLREL_INDEX_S_CELL_T_CELL'
    go

    create unique clustered index I_CELLREL_INDEX_S_CELL_T_CELL
    on GRAN_seg1.dbo.CELLREL_INDEX_S_CELL_T_CELL ( MO_ID, SOURCE_BSC, SOURCE_CELL, TARGET_CELL)
    with ignore_dup_key
    go


    -----------------------------------------------------------------------------
    -- DDL for Index 'CELLREL_IDX_S_CELL_T_CELL_NCLI'
    -----------------------------------------------------------------------------
    print 'Creating Index CELLREL_IDX_S_CELL_T_CELL_NCLI'
    go

    create nonclustered index CELLREL_IDX_S_CELL_T_CELL_NCLI
    on GRAN_seg1.dbo.CELLREL_INDEX_S_CELL_T_CELL ( SOURCE_CELL, TARGET_CELL)
    go


    -----------------------------------------------------------------------------
    -- DDL for Index 'I3_CELLREL_INDEX'
    -----------------------------------------------------------------------------
    print 'Creating Index I3_CELLREL_INDEX'
    go

    create nonclustered index I3_CELLREL_INDEX
    on GRAN_seg1.dbo.CELLREL_INDEX_S_CELL_T_CELL ( SOURCE_CELL)
    go
    ***************************************************
    ***************************************************
    MErci

Discussions similaires

  1. [ASE]Question de migration de Sybase
    Par madjb dans le forum Adaptive Server Enterprise
    Réponses: 1
    Dernier message: 21/04/2008, 17h08
  2. [ASE][TSQL]utilisation de decode() dans Sybase
    Par madina dans le forum Sybase
    Réponses: 3
    Dernier message: 21/06/2006, 18h38
  3. [ASE][12.5]Développement J2EE avec Sybase
    Par xtremax3 dans le forum Sybase
    Réponses: 1
    Dernier message: 22/01/2006, 21h28
  4. [Sybase]Problème avec le BCP sous Solaris
    Par sl dans le forum Sybase
    Réponses: 3
    Dernier message: 09/09/2004, 08h56
  5. [Sybase] Pilote ODBC Sybase sous NT 4.0
    Par SoaB dans le forum Sybase
    Réponses: 2
    Dernier message: 23/10/2002, 13h27

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