Accueil / Blog / Métier / Archives / Zope, Plone, ZcxOracleDA et les retours chariots Windows...

Zope, Plone, ZcxOracleDA et les retours chariots Windows...

Par Sylvain Boureliou publié 05/05/2011, édité le 29/05/2015
Sans explication évidente Oracle me renvoyait des erreurs ORA-06550 et PLS-00103 lors de l'exécution de certains scripts depuis Plone.

Les erreurs remontées par Oracle

DatabaseError: ORA-06550, ce qui signifie qu'il y a une erreur de compilation côté Oracle, or d'après de nombreuses vérifications, tous les packages, triggers, etc. sont bien compilés dans la base de données.

PLS-00103: Encountered the symbol "" when expecting one of the following, ce qui signifie qu'il y a une erreur de syntaxe PL/SQL quelque part, mais où ? laquelle ? Tout semble bon et l'exécution des requêtes incriminées via SQL+ ou l'onglet "Test" du connecteur ZcxOracle fonctionnent très bien.

La cause

Après de nombreux tests et debugs, un post de blog m'a mis sur la bonne piste : Oracle semble s'en sortir assez mal si le code d'une requête SQL contient des retours chariots Windows CRLF !

Et il s'avère que c'est le cas, mais pas pour toutes les requêtes, uniquement celles qui font appel à une procédure stockée, exemple de contenu d'une ZSQL Method :

BEGIN
    schema.package.procedure(
        param1,
        param2,
        param3);
END;

Un patch rapide au niveau du connecteur ZcxOracleDA

Dans la méthode "query" de ZcxOracleDA/db.py, filtrer la requête SQL en remplaçant les caractères "CRLF" par leur équivalent Unix "LF".

qs = qs.replace("rn", "n")

Et voilà !

La vrai correction

Si vous travaillez sous Windows, configurer votre éditeur de sorte qu'il n'utilise pas de caractères CRLF mais uniquement les caractères Unix LF.

Ou encore mieux : passer à Linux/Unix !

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
PloneConf 2017 à Barcelone PloneConf 2017 à Barcelone 27/10/2017

Retours sur la PloneConf 2017 à Barcelone.

PloneConf 2016, un vent nouveau sur Plone PloneConf 2016, un vent nouveau sur Plone 02/11/2016

Résumé de la conférence annuelle sur Plone qui s'est tenue à Boston.

Turning hackability into a use case 27/01/2015

When a CMS does not allow happy hacking anymore, it loses a very valid use case.

collective.z3cform.norobots: a captcha based on questions and answers 15/01/2010

I have released a new captcha widget/field for z3c.form in Plone. Unlike other captcha fields that ...

Plone Unified Installer and ZcxOracleDA 02/12/2010

Trying to setup cx_Oracle and ZcxOracleDA on a Plone/Zope Zeo setup using the Unified Installer ...