|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() |
Bonjour à tous,
Mon problème est que je dois réaliser un update de données venant d'un fichier plat vers une base Sybase. J'aurais aimé connaitre la meilleur solution à mettre en place en sachant que le nombre de lignes sera très important dans le fichier txt, mais qu'il n'y aura que 2 colonne (ID et VALEUR) ps: La base est une base SYBASE 12.6 Merci. |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 293 ![]() |
tu peux utiliser l'outil BCP pour intégrer tes onnées du fichier plat (txt) vers ta base, la commande va ressembler à cela :
Code :
bcp tempdb..toto IN toto.dat -Usa -PPW -Ssrv_sybase -c
A+ |
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() |
Lors que je parle d'update je parle de mise à jour de lignes
donc je ne pense pas que l'outil BCP soit adapté car avec BCP on ne fait que de l'insert, moi je veux mettre à jour des enregistrements |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : septembre 2007 Messages : 39 ![]() |
Bonjour,
Il y a 2 solutions, assez similaires : - en SQL, comme arona le sous-entend. Tu crees une nouvelle table et inseres le contenu de ton fichier avec bcp. Ensuite, tu construis tes updates dynamiquement : select 'update table_to_update set VALEUR=' + valeur_table_tempo + ' where ID=' + id_table_tempo from table_tempo et tu joues le resultat de ce select - tu generes le meme type d'ordre en lisant ton fichier txt dans un script, en extrayant les champs a l'aide de cut (si tu es sous unix) La premiere solution me semble etre la plus simple. A+, Laurent |
|
|
00
|
|
|
#5 |
![]() ![]() |
Un mélange des 2:
- bcp in pour "monter" votre fichier plat dans une table "de travail" - puis traitement SQL pur avec jointure pour l'update (puisque l'ASE le permet si bien) - enfin suppression de la table de travail PS : un ASE 12.6 ? Vous êtes sûr ??
__________________
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
|
|
|
#6 | |
|
Membre éclairé
![]() |
Oui c est ce qui est ecrit lors d'un
Citation:
|
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : mars 2006 Messages : 293 ![]() |
la 12.6 c'est pour IQ et non ase (quoi que la 12.7 est up now). donc tu travail sur une base decisionnel et non transactionnel, le bcp n'existe sur IQ que pour saversion 12.7 il faut donc utiliser les cmd load de IQ.
Je ne connais que très peu le produit IQ, mais recherche sur sybooks.sybase.com dans la section sybase IQ. sorry et bon courage. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com