|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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. |
|
|
00
|
|
|
#2 |
![]() ![]() |
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
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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. |
|
|
00
|
|
|
#4 |
![]() ![]() |
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
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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 |
|
|
00
|
|
|
#6 | ||||
![]() ![]() |
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 :
Code :
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
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
||||
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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 |
|
|
00
|
|
|
#8 |
![]() ![]() |
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
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#9 |
![]() ![]() |
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 ?
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql Administrateur SAP Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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.
|
|
|
00
|
|
|
#11 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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.
|
|
|
00
|
|
|
#12 |
![]() ![]() |
Rational le fera peut-être, mais PowerAMC est meilleur pour ce qui est de la génération du code.
__________________
Sr DBA Oracle / Sybase / MS-SQL / DB2 / Informix / Postgresql Administrateur SAP Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums ! |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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 |
|
|
00
|
|
|
#14 |
![]() ![]() |
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
__________________
Michael Peppler Membre de TeamSybase - www.teamsybase.com "A successful [software] tool is one that was used to do something undreamed of by its author." -- S. C. Johnson |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
ca parait logique puisque qd tu coche le tout, le script devient quasiment vide.
merci pr cette precieuse remarque |
|
|
00
|
|
|
#16 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 30 ![]() |
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 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com