OVH Cloud OVH Cloud

variables et lots dts

2 réponses
Avatar
alexandre a
Bonjour =E0 tous,

je souhaite extraire des donn=E9es issues d'une base source
SAGE, de mani=E8re p=E9riodique afin de les placer dans une
base temporaire.=20
Afin d'optimiser cette extraction, je souhaite mettre en
place un filtre sur les dates. Ainsi, extraire tous les
jours, uniquement les donn=E9es entr=E9es ou modifi=E9es ce jour-ci.

Mon probl=E8me est que je n'arrive pas =E0 faire ce tri. En
effet, j'essaie de d=E9clarer une variable globale
@date_du_jour=3Dgetdate() au niveau de mon server SQL
h=E9bergeant ma base temporaire.
Puis, dans l'op=E9ration de transformation de donn=E9es entre
ma connexion SAGE et ma connexion SQL, je tente de placer
un SELECT ... WHERE date_facture =3D @date_du_jour.
Et c'est l=E0 qu'intervient l'erreur:
"HResult of 0x80040e14 (-2147217900) returned
Erreur inattendue. Un r=E9sultat d'erreur a =E9t=E9 renvoy=E9 sans
message d'erreur."

Est-ce un probl=E8me tout b=EAte ou est-ce le m=EAme principe que
l'OPENQUERY qui ne peut accepter de variable?
Peut-=EAtre existe-t'il =E9galement un autre moyen de faire une
extraction de donn=E9es en fonction des modifications sur la
base source, sans passer par les triggers puisqu'il ne
s'agit pas d'une base SQL mais SAGE :-( .

Merci d'avance,

Alexandre

2 réponses

Avatar
Synopsis
Dans le Designer,
vous
Cliquez droit
Propriété du Lot
Variables Globales





Créez vos variables, par exemple Annee, trimestre.


Si vous ajoutez une tâche de Script SQL

SELECT *
FROM FICMVT
WHERE Year(DateOpe) = ?
and DatePart(q, DateOpe) = ?

Le point d'intérrogation permet le passage de paramètre.

Cliquez sur le bouton "paramètres", puis faîtes les association :
1er paramètre <-- annee
2eme paramètre <-- trimestre






"alexandre a" a écrit dans le message
de news:070901c4a540$18510770$
Bonjour à tous,

je souhaite extraire des données issues d'une base source
SAGE, de manière périodique afin de les placer dans une
base temporaire.
Afin d'optimiser cette extraction, je souhaite mettre en
place un filtre sur les dates. Ainsi, extraire tous les
jours, uniquement les données entrées ou modifiées ce jour-ci.

Mon problème est que je n'arrive pas à faire ce tri. En
effet, j'essaie de déclarer une variable globale
@date_du_jour=getdate() au niveau de mon server SQL
hébergeant ma base temporaire.
Puis, dans l'opération de transformation de données entre
ma connexion SAGE et ma connexion SQL, je tente de placer
un SELECT ... WHERE date_facture = @date_du_jour.
Et c'est là qu'intervient l'erreur:
"HResult of 0x80040e14 (-2147217900) returned
Erreur inattendue. Un résultat d'erreur a été renvoyé sans
message d'erreur."

Est-ce un problème tout bête ou est-ce le même principe que
l'OPENQUERY qui ne peut accepter de variable?
Peut-être existe-t'il également un autre moyen de faire une
extraction de données en fonction des modifications sur la
base source, sans passer par les triggers puisqu'il ne
s'agit pas d'une base SQL mais SAGE :-( .

Merci d'avance,

Alexandre
Avatar
alexandre a
Merci beaucoup de m'avoir apporté cette solution.

Mais, question bête, j'ai déclaré dans mon lot, via une
tâche d'execution de requete SQL, une variable:
@date_du_jour = getdate()
Faut-il que je laisse cette déclaration telle quelle au
sein de mon lot, sachant que dans "propriété du lot",
lorsque je créé ma variable date_du_jour, de type Date, une
erreur se produit lorque je clique sur OK:"Impossible de
convertir la variable date_du_jour du type BSTR en type Date"

Merci d'avance,
Alexandre


-----Message d'origine-----
Dans le Designer,
vous
Cliquez droit
Propriété du Lot
Variables Globales





Créez vos variables, par exemple Annee, trimestre.


Si vous ajoutez une tâche de Script SQL

SELECT *
FROM FICMVT
WHERE Year(DateOpe) = ?
and DatePart(q, DateOpe) = ?

Le point d'intérrogation permet le passage de paramètre.

Cliquez sur le bouton "paramètres", puis faîtes les


association :
1er paramètre <-- annee
2eme paramètre <-- trimestre






"alexandre a" a


écrit dans le message
de news:070901c4a540$18510770$
Bonjour à tous,

je souhaite extraire des données issues d'une base source
SAGE, de manière périodique afin de les placer dans une
base temporaire.
Afin d'optimiser cette extraction, je souhaite mettre en
place un filtre sur les dates. Ainsi, extraire tous les
jours, uniquement les données entrées ou modifiées ce jour-ci.

Mon problème est que je n'arrive pas à faire ce tri. En
effet, j'essaie de déclarer une variable globale
@date_du_jour=getdate() au niveau de mon server SQL
hébergeant ma base temporaire.
Puis, dans l'opération de transformation de données entre
ma connexion SAGE et ma connexion SQL, je tente de placer
un SELECT ... WHERE date_facture = @date_du_jour.
Et c'est là qu'intervient l'erreur:
"HResult of 0x80040e14 (-2147217900) returned
Erreur inattendue. Un résultat d'erreur a été renvoyé sans
message d'erreur."

Est-ce un problème tout bête ou est-ce le même principe que
l'OPENQUERY qui ne peut accepter de variable?
Peut-être existe-t'il également un autre moyen de faire une
extraction de données en fonction des modifications sur la
base source, sans passer par les triggers puisqu'il ne
s'agit pas d'une base SQL mais SAGE :-( .

Merci d'avance,

Alexandre


.