Importation à partir d'une source SQL (import)

De Wiki1000

Il est possible de réaliser les importations à partir de source de données SQL.

Dans cet exemple nous utilisons une table SQL construite ainsi :

drop table dbo.TUSERECRITURES
go
Create table dbo.TUSERECRITURES (
 id int not null identity primary key
 ,etat smallint default 0
 ,databaseName varchar(128) null
 ,affaire varchar(128) null
 ,assujetissementTVA varchar(128) null
 ,axeAnalytique varchar(128) null
 ,CleDeversement varchar(128) null
 ,codeJournal varchar(128) null
 ,CodeLettrageExterne varchar(128) null
 ,CodePointageExterne varchar(128) null
 ,compteAuxiliaire varchar(128) null
 ,roleTiers varchar(128) null
 ,compteGeneral varchar(128) null
 ,dateEcheance datetime null
 ,datePiece datetime null
 ,DateReference datetime null
 ,DeverseAssurance bit null
 ,deviseEcriture varchar(128) null
 ,deviseTenueCompte varchar(128) null
 ,etablissement varchar(128) null
 ,groupeTraitement integer null
 ,libelleEcriture varchar(128) null
 ,LibellePiece varchar(128) null
 ,lienGCFLD varchar(128) null
 ,marque datetime null
 ,modePaiement varchar(128) null
 ,montant money null
 ,montantDeclaration money null
 ,montantDeclarationTR money null
 ,montantEnDevise money null
 ,NatureFlux varchar(128) null
 ,NaturePiece varchar(128) null
 ,numeroEcritureBancaire varchar(128) null
 ,numeroLigne integer null
 ,numeroPiece varchar(128) null
 ,pasReciprociteGCF bit null
 ,posteBudgetaire varchar(128) null
 ,posteBudgetaireAxe1 varchar(128) null
 ,posteBudgetaireAxe2 varchar(128) null
 ,posteBudgetaireAxe3 varchar(128) null
 ,posteBudgetaireAxe4 varchar(128) null
 ,posteBudgetaireAxe5 varchar(128) null
 ,profilTVA varchar(128) null
 ,QuantiteAnalytique float(53) null
 ,referenceExterne varchar(128) null
 ,reserve varchar(128) null
 ,rgltNonAutorise bit null
 ,sectionAnalytique varchar(128) null
 ,sectionAnalytiqueAxe1 varchar(128) null
 ,sectionAnalytiqueAxe2 varchar(128) null
 ,sectionAnalytiqueAxe3 varchar(128) null
 ,sectionAnalytiqueAxe4 varchar(128) null
 ,sectionAnalytiqueAxe5 varchar(128) null
 ,sens varchar(128) null
 ,typeCompte varchar(128) null
 ,typeEcriture varchar(128) null
 ,TypeMarquageExterne varchar(128) null
 ,typePiece varchar(128) null
 ,typeRemuneration varchar(128) null
 ,typeTiers varchar(128) null
 ,typePNM varchar(128) null
 ,typeLot varchar(128) null
)
Go

insert into TUSERECRITURES (
codeJournal,
compteGeneral,
roleTiers,
dateEcheance,
datePiece,
deviseEcriture,
deviseTenueCompte,
libelleEcriture,
modePaiement,
montant,
montantEnDevise,
LibellePiece,
referenceExterne,
reserve,
sens,
typeCompte,
typeLot,
typePiece,
etablissement,
typePNM,
databaseName
) values 
('ACH','40110000','ABI 00007','31/01/2009','01/01/2009','EUR','EUR','','LCR','1200,00','1200,00','AC2009/01-000147','zz',' ','C','X','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1200,00','1200,00','AC2009/01-000147','zz',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','47100000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000148','',' ','C','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000148','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','40110000','ALCH00029','31/01/2009','01/01/2009','EUR','EUR','','LCR','1000,00','1000,00','AC2009/01-000149','',' ','C','X','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000149','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','47100000','','30/12/1899','01/01/2009','EUR','EUR','','','100,00','100,00','AC2009/01-000150','',' ','C','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','100,00','100,00','AC2009/01-000150','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS2'),

('ACH','40110000','ABI 00007','31/01/2009','01/01/2009','EUR','EUR','','LCR','1200,00','1200,00','AC2009/01-000147','zz',' ','C','X','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1200,00','1200,00','AC2009/01-000147','zz',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','47100000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000148','',' ','C','','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000148','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','40110000','ALCH00029','31/01/2009','01/01/2009','EUR','EUR','','LCR','1000,00','1000,00','AC2009/01-000149','',' ','C','X','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','1000,00','1000,00','AC2009/01-000149','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','47100000','','30/12/1899','01/01/2009','EUR','EUR','','','100,00','100,00','AC2009/01-000150','',' ','C','','Brouillard','AF','PRS','N','db560GCFGroupeS3'),
('ACH','60114000','','30/12/1899','01/01/2009','EUR','EUR','','','100,00','100,00','AC2009/01-000150','',' ','D','','Brouillard','AF','PRS','N','db560GCFGroupeS3')
GO

La table source contient une colonne databaseName contenant le nom de la base de donnés cible, cette information sera utilisée pour filtrer les données lors de l'importation.

Le descriptif d'importation est défini ainsi :

import-sql-1.png

La source de données ADO est paramétrée en utilisant le pilote SQL Serveur, la requête de sélection est filtrée pour retourner les données de la société courante.

import-sql-2.png

Après importation on met à jour la table source avec une requête exécutée "Après":

import-sql-3.png

Exclam-20px.png Attention : Ce scénario ne permet pas de garantir que la requête "Après" ne concerne que les lignes réellement intégrées, la table source ne doit pas être alimentée durant l'importation.


Le mapping des données :

import-sql-4.png

Outils personnels