zoukankan      html  css  js  c++  java
  • Python访问数据库

     1 def writeToDB(data):
     2     try:
     3         with conn.cursor() as cur:
     4             for i in range(len(data)):
     5                 # get sql
     6                 cur.execute(writing_sql)
     7         conn.commit()
     8 
     9     except Exception:
    10         print('There is exception happened!', Exception)
    11         traceback.print_exc()
    12         conn.rollback()
    13     finally:
    14         conn.close()
    15 
    16 conn = pymysql.connect(user="root", password="root", database=write_db, host="127.0.0.1", charset='utf8')
    17 for chunk in reader:
    18     data = chunk.values
    19     db_data = []
    20     for item in data:
    21         db_data.append(item[0].split("	"))
    22     db_data = np.array(db_data)
    23     writeToDB(db_data)

       之前总是报错,说是Connection Already Close;后来才发现是因为写法的问题;在writeToDB的函数中,执行完毕后,将会执行final里面的关闭链接;

      但是,其实访问并没有完事,在writeToDB外围还有一层循环,后续还是会继续访问数据库,但是此时链接已经关闭,于是导致了这个问题。后来做了调整,在writeToDB的调用层实现了finally,在writeToDB内部只有exception的异常捕捉。

  • 相关阅读:
    新的思考方式
    我在干售后!
    设计制造嵌入式系统
    镶嵌在系统中的系统
    苏黄永郦的第六周读书报告
    苏黄永郦的第五周读书报告
    苏黄永郦的第四周读书报告
    苏黄永郦的第三周读书报告
    1051 最大子矩阵和
    1065 最小正子段和
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/11256688.html
Copyright © 2011-2022 走看看