2010-05-01 11 views
0

J'écris une application Fast-CGI qui utilise sqlAlchemy & MySQL pour le stockage de données persistantes. Je n'ai aucun problème à me connecter à la base de données et à configurer ORM (pour que les tables soient mappées aux classes); Je peux même ajouter des données aux tables (en mémoire).Python fCGI + sqlAlchemy = en-tête mal formé du script. Bad en-tête = FROM balises: index.py

Mais, dès que je le DB questionne (et appuyez sur toute modification de la mémoire au stockage) Je reçois un 500 Internal Server Error et mes enregistrements error.log d'en-tête malformé du script. Bad en-tête = FROM tags: index.py, lorsque tags est le nom de la table.

Une idée de ce qui pourrait causer cela?

Aussi, je ne pense pas que ce soit important, mais c'est un serveur de développement Linux qui parle à un serveur MySQL hors site (à travers le pays).

Répondre

2

On dirait sqlalchemy pousse ou faisant écho à la requête à votre sortie (où-cgi rapide) est plutôt à la recherche des en-têtes, puis le corps. Peut-être que mettre sqlalchemy.echo à False peut aider.

+0

Merci, ça l'a corrigé. J'ai eu l'écho défini sur True à partir d'un débogage plus tôt et je ne me suis pas rendu compte que ça gâcherait F-CGI – crgwbr

0

Au lieu de définir echo=True vous pouvez configurer la journalisation pour des informations de débogage de sortie. SQLAlchemy a très flexible loggers hierarchy. Les lignes suivantes permettront la journalisation de la même information que echo:

import logging 

logging.basicConfig() 
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)