| |
Posté le 13 juin 2017 - 10:44 |
Bonjour,
Depuis la mise à jour du moteur HFSQL, les procédures stockées n'acceptent plus les paramètres en renvoie systématiquement l'erreur : Fonction 'HExécuteProcédure', syntaxe 0 Que s'est-il passé ? Erreur renvoyée par le serveur <192.168.1.15:4900> : Ce type de paramètre n'est pas supporté.
Code erreur : 74035 Niveau : erreur fatale Code erreur WD55 : 4035
Après avoir repasser le serveur en version précédente (59), tout fonctionne correctement. Mais avec WD22 59 ou 63k + Moteur HFSQL 63e = plus de procédures stockées. Le typage des paramètres n'y fait rien et la récompilation complète + réparation analyse et mise à jour des procédures stockées ne changent rien.
Auriez-vous une solution?
Cordialement |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 2 572 messages Popularité : +222 (260 votes) |
|
Posté le 13 juin 2017 - 13:46 |
Bonjour,
Oui te retourner vers le ST pour leur soulever et le problème et attendre la correction qui devrait être rapide dans ces cas là.
-- Cordialement,
Philippe SAINT-BERTIN Géode Informatique |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 57 messages Popularité : +17 (17 votes) |
|
Posté le 13 juin 2017 - 13:47 |
Bonjour,
Ce n'est pas un cas connu ou que nous arrivons à reproduire. C'est sans doute lié aux types des paramètres utilisés. Je vous engage à contacter le Support en utilisant "? Requête au ST" pour envoyer le prototype de la procédure.
-- Loïc HAMEL (Twitter : @HAMELLoic) Support Technique PC SOFT |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2017 - 16:03 |
Après avoir fait pas mal de tests depuis ce matin. le problème est simple à reproduire : Il faut que le moteur soit en 63e. Il est désormais impossible de passer un entier système en paramètre à une procédure stockée.
// la déclaration du paramètre MaVariable est un entier systeme
// l'appel de la procedure hexecuteprocedure(Maconnexion,Maprocédure,Mavariable)
// la procédure stockée PROCEDURE MaProcédure(MonParam)
Cordialement
J'espère que le correctif sera rapide car j'ai des dizaines de procédures stockées!! |
| |
| |
| | | |
|
| | |
| |
Posté le 13 juin 2017 - 20:05 |
Bonjour
question bête
tu n'aurais pas un coté en 64b et l'autre en 32 bits?
Je demande parce que la taille de l'entier système passe de 8 octets à 4 octets dans ce cas la, ce qui expliquerait le message d'erreur
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 6/13/2017 à 8:03 AM, "ÿÿÿÿÿÿÿÿÿÿÿÿÿ" a écrit :
Après avoir fait pas mal de tests depuis ce matin. le problème est simple à reproduire : Il faut que le moteur soit en 63e. Il est désormais impossible de passer un entier système en paramètre à une procédure stockée.
// la déclaration du paramètre MaVariable est un entier systeme
// l'appel de la procedure hexecuteprocedure(Maconnexion,Maprocédure,Mavariable)
// la procédure stockée PROCEDURE MaProcédure(MonParam)
Cordialement
J'espère que le correctif sera rapide car j'ai des dizaines de procédures stockées!! |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 08:32 |
Non, j'ai bien vérifié, tous mes serveurs sont en 64Bits et mon Exé aussi ainsi que mon windev. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 13:17 |
juste pour être sur : ton moteur HF/CS aussi, et tu testes bien (GO) en mode 64 bits ?
Le 6/14/2017 à 12:32 AM, "ÿÿÿÿÿÿÿÿÿÿÿÿÿ" a écrit :
Non, j'ai bien vérifié, tous mes serveurs sont en 64Bits et mon Exé aussi ainsi que mon windev. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 16:50 |
Oui, J'ai deux serveurs de prod et un serveur de test, tous les trois en 64 Bits. et mon windev fait les GO en 64 bits. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 17:00 |
Pour contourner (comme ca ne se produit que sur les entiers système), as tu essayé de déclarer (des 2 cotés) tes variables comme des entiers sur 8 ?
Le 6/14/2017 à 8:50 AM, "ÿÿÿÿÿÿÿÿÿÿÿÿÿ" a écrit :
Oui, J'ai deux serveurs de prod et un serveur de test, tous les trois en 64 Bits. et mon windev fait les GO en 64 bits. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 17:20 |
J'ai réussi, je pense, à contourner le problème en modifiant tous mes appels hexecuteprocédure(). Juste avant chaque appel, je transtype de la manière suivant mes entiers system :
MonParamTemp est un entier = val(numeriqueverchaine(MonEntierSystem))
Je sais que ce n'est pas super propre mais je ne peux pas attendre la mise à jour suivante (s'il y en a une) et j'ai besoin des mise à jour de celle la pour le traitement de texte!! Alors j'ai donc passé mon après midi à modifier les quelques 250 appels à mes procédures stockées. |
| |
| |
| | | |
|
| | |
| |
Posté le 14 juin 2017 - 17:23 |
Oui les déclarations de type ne fonctionnent pas non plus. |
| |
| |
| | | |
|
| | |