MySQL-Verbindung später trennen
Verfasst: Mittwoch 2. Dezember 2015, 20:32
Hallo Leute,
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.
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()