das ist mein erster Beitrag, also etwas Gnade bitte
Zum Problem:
Ich erstelle ein Installationsprogramm, welches zu einer MSSQL DB Connectet, dies funktioniert auch problemlos,
sofern die Daten direkt eingegeben wurden, und vom Input kommend zum verbinden genutzt werden.
Allerdings hört der Spass auf, wenn ich die Daten aus einer TXT Datei einlese und dann zum verbinden verwende.
Hat hier jemand eine idee, oder kann mir einen Tipp geben?
Bin gerade um jede Hilfe dankbar.
Code: Alles auswählen
# Module zum lesen und schreiben von Dateien
import sys
import _mssql
print ("KAS-install | Copyright: IT-Dienstleistungen Kokot")
print ("--------------------------------------------------")
print ("Dieses Programm wird die Datenbanken installieren,")
print ("und grundlegende Dateien erstellen!")
print ("--------------------------------------------------")
print ()
print ("Überprüfung ob Configdatei existiert:")
try:
# Textdatei einlesen, sofern vorhanden
d = open("config.txt")
except:
print ("Configdatei noch nicht existent, fahre fort.....")
print ("Bitte geben Sie den Servernamen oder die IP ein:")
servername = input()
print ("Bitte geben Sie Benutzernamen für den Server ein:")
benutzername = input()
print ("Bitte geben Sie das Passwort für den Server ein:")
passwort = input()
print ("Bitte geben Sie den Namen der Datenbank ein:")
datenbank = input()
# Testen der Verbindung zum Server
try:
conn = _mssql.connect(server=servername, user=benutzername, password=passwort, database=datenbank)
print("Verbindung erfolgreich getestet")
conn.close()
except _mssql.MssqlDatabaseException:
print("SQL Verbindung gescheitert!")
conn.close()
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
# Textdatei einlesen
d = open("config.txt","w")
# Schreiben der Konfiguration in einzelne Zeilen
d.write(servername)
d.write("\n")
d.write(benutzername)
d.write("\n")
d.write(passwort)
d.write("\n")
d.write(datenbank)
d.close
print ()
print ("Die Konfigurationsdatei wurde erfolgreich erstellt.")
print ("Sie können nun KAS starten")
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
# Textdatei einlesen war erfdolgreich
print ("OK: config.txt exists")
print ("")
print ("Daten in der config.txt:")
# Textdatei auslesen und wiedergeben
servername = d.readline()
print ("Servername:",servername, end="")
benutzername = d.readline()
print ("Benutzername:",benutzername, end="")
passwort = d.readline()
print ("Passwort:",passwort, end="")
datenbank = d.readline()
print ("Datenbank:",datenbank, end="")
print ()
d.close()
print ("Stimmen diese Verbindungsdaten? [y] oder [n]")
dataright = input()
#Eingabe war JA
if (dataright == "y" or dataright == "Y"):
print ("Testen der Verbindung.....")
# Testen der Verbindung zum Server
try:
d = open("config.txt")
servername = d.readline()
benutzername = d.readline()
passwort = d.readline()
datenbank = d.readline()
print ()
d.close()
#Testausgabe der Daten
print ("Test:", servername, benutzername, passwort, datenbank)
#Datenbankverbindung
conn = _mssql.connect(server=servername, user=benutzername, password=passwort, database=datenbank)
print("Verbindung erfolgreich getestet!")
conn.close()
d.close()
print ()
print ("Sie können nun KAS starten")
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
except:
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
# Auskommentiert, da sonst nur Fehlermeldung
#except _mssql.MssqlDatabaseException:
#print("SQL Verbindung gescheitert!")
#conn.close()
#print("Das Programm wird beendet, bitte prüfen Sie nochmals die Serverdaten.")
#input ("Bitte drücken Sie [ENTER] zum beenden.......")
#sys.exit(0)
# Abfrage N Daten neu eingeben
elif (dataright == "n"):
print ("Bitte geben Sie Daten für die Config neu ein:")
print ()
print ("Bitte geben Sie den Servernamen oder die IP ein:")
servername = input()
print ("Bitte geben Sie Benutzernamen für den Server ein:")
benutzername = input()
print ("Bitte geben Sie das Passwort für den Server ein:")
passwort = input()
print ("Bitte geben Sie den Namen der Datenbank ein:")
datenbank = input()
try:
conn = _mssql.connect(server=servername, user=benutzername, password=passwort, database=datenbank)
print("Verbindung erfolgreich getestet!")
conn.close()
try:
d = open("config.txt","w")
except:
print("Dateizugriff ist gescheitert!")
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
# Schreiben der Konfiguration in einzelne Zeilen
d.write(servername)
d.write("\n")
d.write(benutzername)
d.write("\n")
d.write(passwort)
d.write("\n")
d.write(datenbank)
d.close
print ()
print ("Die Konfigurationsdatei wurde erfolgreich erstellt.")
print ("Sie können nun KAS starten")
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)
except _mssql.MssqlDatabaseException:
print("SQL Verbindung gescheitert!")
conn.close()
print("Das Programm wird beendet, bitte prüfen Sie nochmals die Serverdaten.")
input ("Bitte drücken Sie [ENTER] zum beenden.......")
sys.exit(0)