Bonjour,
Désirant accéder à une base SQLServer depuis une procédure stockée sur mon serveur HF, je rencontre quelques difficultés... Voila le topo :
Une application en WD12, utilisant principalement une base HF.
Une base SQL Server (Sage), sur laquelle je dois récuperer quelques informations pour des statistiques, avec des calculs à faire.
Jusqu'a la, les calculs se font dans ma requete, avec du PL SQL... Cela donne quelque chose d'assez lent.
L'idée est donc venu de créer une procédure stockée sur le serveur HF, qui s'occuperait de faire les calculs et renverrait le résultat.
Dans la procédure stockée en question donc, un HExecuteRequeteSQL... Pour faire plus clair, voila la procédure :
Et donc, la, problème... Pas moyen de réussir a faire marcher cela.
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 PROCEDURE CASurPeriode(NoCompteGescom, Date1, Date2) sdCASurPeriode est une Source de Données sRequete est une chaîne sRequete =[ SELECT Sum(F_DOCLIGNE.DL_MontantHT) AS CA FROM F_DOCLIGNE WHERE(F_DOCLIGNE.DO_Date BETWEEN ' ] + Date1 + [ 'AND' ] + Date2 + [ ') AND F_DOCLIGNE.DO_Domaine = 0 AND F_DOCLIGNE.DO_Type>=6 AND F_DOCLIGNE.CT_Num = ] + NoCompteGescom SI HExécuteRequêteSQL(sdCASurPeriode, MaConnexionGestCom, hRequêteSansCorrection, sRequete) ALORS HLitPremier(sdCASurPeriode) SINON RENVOYER HErreurInfo() FIN RENVOYER sdCASurPeriode.CA
Soit on m'indique que "La constante passée en parametre est incorrecte", soit que l'analyse n'est pas ouverte et qu'il ne connait pas le fichier...
Bref, si quelqu'un a une suggestion pour corriger ca, ou une méthode pour accéder à ma base SQLServer depuis ma procédure stockée...
Finar
P.S : On se connecte à la base SQLServer via ODBC, et le lien ODBC est bien fait sur le serveur.
P.S2 : La description des fichiers SQLServer nécessaires est faite dans l'analyse. On arrive parfaitement à les interroger à partir de l'application en elle même.
Partager