nachfolgend seht ihr ein Skript, in welches ich eine Verbindung zum MySQL-Server herstelle. Soweit auch alles ganz gut. Nun seht ihr, dass ich eine weitere Funktion eingebaut habe, und zwar die interrupt_connection_to_mysql()-Funktion. Mir geht es darum, dass ich später die Verbindung zum Server manuell trennen möchte, sobald diese Funktion aufgerufen wird. Nun grübel ich, wie ich dies bewerkstelligen könnte.
Code: Alles auswählen
#!/usr/bin/env python
#-*- coding:utf-8 -*-
FILE_NAME = "manage_mysql.py"
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import exc
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import sessionmaker
Base = declarative_base()
def interrupt_connection_to_mysql():
answer = ""
while True :
if not answer == "":
print "Disconnected"
# Here I want to disconnect from server
break
else:
print "Was sagt?", conn_serv
result = raw_input("Disconnect? (Y)es or (N)o: ")
if result == "Y":
answer = "No more empty variable"
def connect_to_mysql(dbm_system, dbm_driver, db_user, db_passwd, db_host, db_port, db_name):
print "STATUS [OK] (", FILE_NAME, "): Calling the function (connect_to_mysql)"
try:
print "STATUS [OK] (", FILE_NAME, "): Creating an engine-instance"
engine = create_engine(dbm_system+'+'+dbm_driver+'://' + db_user + ':' + db_passwd + '@' + db_host + ':' + db_port + '/' + db_name,
encoding='utf8', echo=True)
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
print "SESSION:", Session
print "STATUS [OK] (", FILE_NAME, "): Engine-instance was created"
print "STATUS [OK] (", FILE_NAME, "): Successfully connected to the database."
connection = engine.connect()
print "STATUS [OK] (", FILE_NAME, "): Using the chosen database"
return True
except exc.SQLAlchemyError as AlErr:
print "ERROR IN CONNECTION: {}".format(AlErr.args[0])
return AlErr[0]
def get_access_data():
server_host = unicode(raw_input("Serverhost: "))
db_user = unicode(raw_input("Username: "))
db_passwd = unicode(raw_input("Password: "))
data_base_name = unicode(raw_input("Database: "))
db_port = unicode(raw_input("Port: "))
dbms_driver = u'pymysql'
dbm_system = u'mysql'
conn_result = connect_to_mysql(dbm_system,
dbms_driver,
db_user,
db_passwd,
server_host,
db_port,
data_base_name)
if conn_result == True:
print "You are connect with database."
interrupt_connection_to_mysql()
else:
print conn_result
if __name__ == "__main__":
get_access_data()