Erreur

Fermé
matrixouj Messages postés 2 Date d'inscription mardi 25 juin 2019 Statut Membre Dernière intervention 26 juin 2019 - 25 juin 2019 à 15:03
matrixouj Messages postés 2 Date d'inscription mardi 25 juin 2019 Statut Membre Dernière intervention 26 juin 2019 - 26 juin 2019 à 10:36
je suis débutant en python, et j'ai besoin de développer un programme qui récupère les résultats SQL dans plusieurs lots (en format jsonl) de 500 lignes dans chaque fichier jsonl.

Merci

2 réponses

NHenry Messages postés 15173 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 21 décembre 2024 350
25 juin 2019 à 18:43
Nous ne feront pas votre exercice à votre place.
Merci de décrire précisément votre problème et en postant le code déjà réalisé.

Cliquez ici pour des conseils d'écriture des messages et ici concernant les devoirs scolaires ou PFE.

Pour poster votre code, merci de penser à la coloration syntaxique.
0
matrixouj Messages postés 2 Date d'inscription mardi 25 juin 2019 Statut Membre Dernière intervention 26 juin 2019
Modifié le 26 juin 2019 à 18:23
Bonjour,

Ce n'est pas le but, je veux juste des explication si c'est possible.
Voici mon code python :
app.py:
#import pdb; pdb.set_trace()
logger.info("Selection des lignes à traiter")
error_code, error_message, list_ligne = notification_cbs.select_list_ligne(args.server_name, args.db_name, args.etat)
if error_code != 200 :
    error_description = render_templates(
        tmpl=errors[error_code],
        error_message=error_message
    )
    logger.error("{}".format(error_description))
    sys.exit(1)

logger.info("Enregistrement du résultat de la requête dans un fichier de sortie.")

try:
    for i in range(2):
        args.output = "output{}.jsonl".format(i+1)
        with jsonlines.open(args.output, 'w') as writer:
                       pass
        writer.write_all(list_ligne)
except (IOError, OSError) as error:
    error_code = 1701
    error_message = render_templates(
        tmpl=errors[error_code],
        error_message=str(error)
    )
except Exception as error:
    error_code = 1000
    error_message = render_templates(
        tmpl=errors[error_code],
        error_message=str(error)
    )
if error_code != 200:
    logger.error("Une erreur est survenue lors de l'écriture du résultat :\n{}".format(error_message))
    logger.error("Le résultat est :\n{}".format(list_ligne))
    sys.exit(1)


db.py :
 def select_list_ligne(self, server_name, db_name, etat):
        """
            récupération des infos etat 12
        """
        list_ligne = None
        (error_code, error_message, db_session) = self.connect()

        if error_code != 200:
            return (error_code, error_message, list_ligne)

        try:
            print("1")
            request_id = traceback.extract_stack()[-1][2]
            sql_request = self.db_requests[request_id]
            print("sql_request =", sql_request)
            ms_cursor = db_session.cursor()
            print("2")
            ms_cursor.execute(sql_request)
            print("3")
            list_ligne = ms_cursor.fetchall()
            print("4")
        except _mssql.MSSQLDatabaseException as error:
            print("MS SQL ERROR")
            error_code = 1202
            error_message = {
                "description": str(error),
                "sql_request": sql_request
            }

        except Exception as error:
            print("Another ERROR")
            error_code = 1000
            error_message = str(error)
        finally:
            print("5")
            if ms_cursor:
                print("6")
                ms_cursor.close()
                print("7")
                db_session.close()
        print("8")
        if not list_ligne:
            print("9")
            list_ligne = [{'data': 'No data avalaible'}]
        print("10")
        return (error_code, error_message, list_ligne)


Le but de ce progrmmae est de récupéré les résultats SQL
dans plusieurs lots (en format jsonl) de 500 lignes dans chaque fichier jsonl.

Merci par avance

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
0