Erreur
matrixouj
Messages postés
2
Statut
Membre
-
matrixouj Messages postés 2 Statut Membre -
matrixouj Messages postés 2 Statut Membre -
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
Merci
2 réponses
-
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.
-
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.