1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
#utf8
import mysql.connector
import sys
import re
class CreateDatabase:
def exec_sql_file(self, user, password, port, host, sql_file):
cnx = mysql.connector.connect(user=user, password=password, port=port,
host=host)
print
"************ Chargement de la base En cours... *********************"
cursor = cnx.cursor()
statement = ""
for line in open(sql_file):
if re.match(r'--', line): # ignore sql comment lines
continue
if not re.search(r'[^-;]+;', line): # keep appending lines that don't end in ';'
statement = statement + line
else: # when you get a line ending in ';' then exec statement and reset for next statement
statement = statement + line
# print "\n\n[DEBUG] Executing SQL statement:\n%s" % (statement)
try:
cursor.execute(statement)
except :
print
"[MYSQLERROR] Erreur lors de chargement de la base ****"
statement = ""
cursor.close()
cnx.commit()
cnx.close()
if __name__=="__main__":
CDB=CreateDatabase()
CDB.exec_sql_file(r"root",r"xxx",r"3306",r"localhost",r"C:\Users\xxx\patch_creation_DB.sql") |
Partager