def multi_insert_mysql_data(self, engine, data_dict, logger): # 连接引擎 # conn = engine.connect() # 传递参数并执行语句 try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 # print("all_insert_data_dict:",data_dict) new_dict = {} for data_list in data_dict: for table, data in data_list.items(): tb_bdm_employee = Table(table, metadata, autoload=True) ins = tb_bdm_employee.insert() new_dict[ins] = data print('new_dict', new_dict) with engine.begin() as conn: # conn = engine.begin() for ins, data in new_dict.items(): result = conn.execute(ins, **data) return result.lastrowid except Exception as e: file_path = os.path.join( sys.path[0], "logs", "%s.log" % datetime.datetime.strftime( datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return False
def insert_mysql_data(self, engine, table_name, data_dict, logger): # sql_comment = "insert into {table_name} {filed_list} values {data_tuple}".format( # table_name=table_name,filed_list=filed_list, data_tuple=data_tuple) # sql_comment = "insert into tb_bdm_employee 'EmployeeID' values 5" # # print(sql_comment) # cursor = session.execute(sql_comment) # session.commit() # result = cursor.lastrowid # print(cursor.lastrowid) try: # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.insert() # 传递参数并执行语句 result = conn.execute(ins, **data_dict) return result.lastrowid except Exception as e: traceback.print_exc() file_path = os.path.join( sys.path[0], "logs", "%s.log" % datetime.datetime.strftime( datetime.datetime.now(), "%Y_%m_%d")) log = logger(filename=file_path) log.removeHandler(log.handlers) log.info(e.__str__()) traceback.print_exc() return None
def insert_sqlserver_data(self, engine, table_name, data_dict): # 绑定引擎 metadata = MetaData(engine) # 连接数据表 tb_bdm_employee = Table(table_name, metadata, autoload=True) # 连接引擎 conn = engine.connect() ins = tb_bdm_employee.insert() # 传递参数并执行语句 result = conn.execute(ins, **data_dict) return result
def sendmail(text): # check optional params on type if type(text["optional"]) != str or not text: return "Error optional" # write data and time for identification to db and give result try: # add time in text text["time"] = time.time() # connect to db db = Table("email", "email") #db.show_db() # insert data + time data = db.insert(**text) #print(data) return "Success" except: pass return "Error email"