Exception PDO4D : On Sql Authentication failed

Hello,

Aujourd’hui je suis tombé dans un gentil piège… Je suis sur que ça a déjà fait l’objet d’une technote… Mais je le mets là quand même ça peut servir.

Pourune raison bizarre, un script php qui se connecte à 4D a commené à logguer:
PHP Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [1109] On SQL Authentication failed.’

Je saute sur la doc 4D, qui dit que si On SQL Authentication n’existe pas, les connections extérieures au SQL sont autorisées ou non en utilisant le système de de gestion des utilisateurs intégré, s’il est actif[…]

Alors oui ce système est actif, et ma méthode est vide alors pourquoi ça passe pas…???

Et après 30 minutes, j’ai compris: ma méthode est vide… mais existante. Du coup son appel par le serveur échoue car il manque des déclarations de paramètres.

Moralité: soit tu ne touches pas à On Sql Authentication failed, soit tu l’implémentes complètement.

Hope this helps,

Olivier

The doc says
After digging around, I discovered that was due to my On Sql Authentication method which was empty.

Malheureusement un attrape-nigaud classique :frowning: (J’ai expérimenté et perdu mon temps également :evil:)
Il faut supprimer la méthode complètement, ne pas laisser une méthode vide, ou commentée, ou ne contenant qu’un espace.

Sauf que le warning d’effacement définitif m’a fait réfléchir deux fois… Supprimer définitivement une méthode base…

Alors j’ai essayé sur une base jetable et donc ça undefine bien la méthode!

A force de voir le verre à moitié vide, fini par manquer de foi moi…

Merci Manuel de m’avoir poussé à essayer!

Olivier

Dans l’explorateur, il faut que le bouton “-” (moins) de suppression soit bien grisé :wink: