Bonjour,
J'ai 1 classique besoin de transfert de données entre 2 bases, les tables source & cible se ressemblent, mais la normalisation est passée par là
source:Cible:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE AFFECTATION ( AFF_ANNEE INTEGER NOT NULL, ATE_REF VARCHAR(10) NOT NULL, OUV_NUMSS NUMSS NOT NULL );Je tente ce code (largement inspiré d'échanges sur le forum en mode singe voit-singe fait):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CREATE TABLE AFFECTATION ( AFF_ANNEE INTEGER NOT NULL, OUV_CLE INTEGER NOT NULL, ATE_CLE INTEGER NOT NULL );et sous Flamerobin, ça tousse
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 SET TERM !; EXECUTE BLOCK AS DECLARE VARIABLE C1 int ; DECLARE VARIABLE C2 varchar(10); DECLARE VARIABLE C3 char(13); DECLARE VARIABLE C4 int ; DECLARE VARIABLE C5 int ; BEGIN FOR EXECUTE STATEMENT 'SELECT AFF_ANNEE,ATE_REF,OUV_NUMSS FROM AFFECTATION' ON EXTERNAL 'localhost/3050:C:\FB2.17\GESTCAT2-1.FDB' AS USER 'SYSDBA' PASSWORD 'masterkey' INTO :C1,:C2,:C3; DO select OUV_CLE from OUVRIER where OUV_NUMSS=:C3 INTO :C4 select ATE_CLE FROM ATELIER WHERE ATE_REF_INTERNE=:C2 INTO :C5 INSERT INTO AFFECTATION VALUES(:c1,:c4,:c5); END! SET TERM ;!La ligne 11 étant le ON EXTERNAL ...Error: *** IBPP::SQLException ***
Context: Statement:repare(
EXECUTE BLOCK
AS
DECLARE VARIABLE C1 int ;
DECLARE VARIABLE C2 varchar(10);
DECLARE VARIABLE C3 char(13);
DECLARE VARIABLE C4 int ;
DECLARE VARIABLE C5 int ;
BEGIN
FOR EXECUTE STATEMENT 'SELECT AFF_ANNEE,ATE_REF,OUV_NUMSS FROM AFFECTATION'
ON EXTERNAL 'localhost/3050:C:\FB2.17\GESTCAT2-1.FDB'
AS USER 'SYSDBA' PASSWORD 'masterkey'
INTO :C1,:C2,:C3;
DO
select OUV_CLE from OUVRIER where OUV_NUMSS=:C3 INTO :C4
select ATE_CLE FROM ATELIER WHERE ATE_REF_INTERNE=:C2 INTO :C5
INSERT INTO AFFECTATION VALUES(:c1,:c4,:c5);
END )
Message: isc_dsql_prepare failed
SQL Message : -104
Invalid token
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 11, column 8
ON
Une idée? Est-ce lié à la version 2.1 utilisée?
Merci de vos retours.
Partager