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 Firebird Discussion :

Transfert de données entre 2 bases différentes


Sujet :

SQL Firebird

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 882
    Points : 149
    Points
    149
    Par défaut Transfert de données entre 2 bases différentes
    bonjour à tous,
    pour le transfert de données entre 2 table se trouvant sur 2 base distincte j'utilise ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EXECUTE BLOCK as  declare CAS Integer;declare  DAT Date;declare FAC Varchar(30);declare ORD Integer;declare ANA Varchar(20);declare MAT Varchar(20);declare PRO Varchar(20);declare DES Varchar(255);declare QTE Numeric(14,5);declare   MHT Numeric(14,2);declare  COI Integer;declare   PER Integer;declare DAP Date;declare   CHA Varchar(255);declare IMA Varchar(35);declare MON Numeric(14,2);declare OBS Varchar(255);declare PUA Numeric(14,5);declare COIR Integer;declare DESF Varchar(200);declare mTB Numeric(14,5);declare TAU Numeric(14,2);declare TVA Numeric(14,5);declare TRE Numeric(14,2);declare REM Numeric(14,5);declare UTI Varchar(50);declare  COID Integer;declare   COIF Integer; begin for execute  statement 'select CAS,DAT,FAC,ORD,ANA,MAT,PRO,DES,QTE,MHT,COI,PER,DAP,CHA,IMA,MON,OBs,PUA,COIR,DESF,mTB,TAU,TVA,TRE,REM,UTI from ach ' on  external  DATa source 'D:\bd\achat.FDB' as USER 'SYSDBA' password 'masterkey'
    into :CAS,:DAT,:FAC,:ORD,:ANA,:MAT,:PRO,:DES,:QTE,:MHT,:COI,:PER,:DAP,:CHA,:IMA,:MON,:OBs,:PUA,:COIR,:DESF,:mTB,:TAU,:TVA,:TRe,:REM,:UtI do insert  into  ACH (CAS,DAT,FAC,ORD,ANA,MAT,PRO,DES,QTE,MHT,COI,PER,DAP,CHA,IMA,MON,OBs,PUA,COIR,DESF,mTB,TAU,TVA,TRE,REM,UTI)values(:CAS,:DAT,:FAC,:ORD,:ANA,:MAT,:PRO,:DES,:QTE,:MHT,:COI,:PER,:DAP,:CHA,:IMA,:MON,:OBs,:PUA,:COIR,:DESF,:mTB,:TAU,:TVA,:TRe,:REM,:UtI);end
    mais malheureusement j'ai cette erreur qui s'affiche
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 2, column 6
    ?
    j'ai tésté sur flamrobin est ça marche.Je ne sais pas si le code doit être mis dans une procédure stockée pour régler le problème?

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    14 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 14 088
    Points : 38 144
    Points
    38 144
    Billets dans le blog
    59
    Par défaut
    C'est d'un tel condensé qu'il est difficile de trouver où se situe l'erreur.
    J'ai du mal à situer le corps du bloc et donc du mal à situer la ligne 2

    j'ai testé sur flamerobin, ça fonctionne.
    alors c'est en transcrivant que vous avez un souci
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    mars 2010
    Messages
    882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mars 2010
    Messages : 882
    Points : 149
    Points
    149
    Par défaut
    Bonjour,
    l'erreur ici ligne 2, colonne 6

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    14 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2007
    Messages : 14 088
    Points : 38 144
    Points
    38 144
    Billets dans le blog
    59
    Par défaut
    Avec cette réponse, vous ne nous avancez pas !

    Dans le principe, le SQL est tout à fait correct, mais, comme vous ne nous indiquez pas le contexte d'utilisation, difficile d'être précis.
    Pour moi, il manque le SET TERM


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    SET TERM !;
    EXECUTE BLOCK as
      declare CAS Integer;
      declare  DAT Date;
      declare FAC Varchar(30);
      declare ORD Integer;
      declare ANA Varchar(20);
      declare MAT Varchar(20);
      declare PRO Varchar(20);
      declare DES Varchar(255);
      declare QTE Numeric(14,5);
      declare   MHT Numeric(14,2);
      declare  COI Integer;
      declare   PER Integer;
      declare DAP Date;
      declare   CHA Varchar(255);
      declare IMA Varchar(35);
      declare MON Numeric(14,2);
      declare OBS Varchar(255);
      declare PUA Numeric(14,5);
      declare COIR Integer;
      declare DESF Varchar(200);
      declare mTB Numeric(14,5);
      declare TAU Numeric(14,2);
      declare TVA Numeric(14,5);
      declare TRE Numeric(14,2);
      declare REM Numeric(14,5);
      declare UTI Varchar(50);
      declare  COID Integer;
      declare   COIF Integer;
      begin 
       for execute  statement 'select CAS,DAT,FAC,ORD,ANA,MAT,PRO,DES,QTE,MHT,COI,PER,DAP,CHA,IMA,MON,OBs,PUA,COIR,DESF,mTB,TAU,TVA,TRE,REM,UTI from ach '
                        on  external  DATa source 'D:\bd\achat.FDB' as USER 'SYSDBA' password 'masterkey'
                        into :CAS,:DAT,:FAC,:ORD,:ANA,:MAT,:PRO,:DES,:QTE,:MHT,:COI,:PER,:DAP,:CHA,:IMA,:MON,:OBs,:PUA,:COIR,:DESF,:mTB,:TAU,:TVA,:TRe,:REM,:UtI 
       do 
        insert  into  ACH(CAS,DAT,FAC,ORD,ANA,MAT,PRO,DES,QTE,MHT,COI,PER,DAP,CHA,IMA,MON,OBs,PUA,COIR,DESF,mTB,TAU,TVA,TRE,REM,UTI)
                     values(:CAS,:DAT,:FAC,:ORD,:ANA,:MAT,:PRO,:DES,:QTE,:MHT,:COI,:PER,:DAP,:CHA,:IMA,:MON,:OBs,:PUA,:COIR,:DESF,:mTB,:TAU,:TVA,:TRe,:REM,:UtI);
       end!
    SET TERM ; !
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio, Sidney) ,D11 (Alexandria)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

Discussions similaires

  1. Transfert de données entre 2 bases différentes
    Par offnight dans le forum Outils
    Réponses: 2
    Dernier message: 13/02/2012, 14h47
  2. transfert de données entre 2 bases MySQL
    Par douass dans le forum MySQL
    Réponses: 8
    Dernier message: 30/10/2008, 17h47
  3. Transfert de données entre deux bases
    Par RTDanjou dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/03/2007, 16h53
  4. Transfert de données entre 2 bases Access
    Par care dans le forum Bases de données
    Réponses: 10
    Dernier message: 13/02/2007, 15h33
  5. Réponses: 5
    Dernier message: 30/11/2005, 17h41

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