![]() |
[MySQL] Connectionstring zur Laufzeit setzen??
Ich hab ne Anwendung geschrieben, die auf MySQL aufsetzt. Da der ein oder andere User aber den MySQL root User mit einem Passwort geschützt hat, läuft bei denen die Anwendung nicht, da ich im eigentlichen Connectionstring kein Passwort angebe. Bei mir zuhause hat der root User ein Passwort, dies kann ich aber nicht eingeben, da ich in der ADOConnection LoginPromt abgeschalten habe. (Grund: Meine Anwendung hat ebenfalls einen Logindialog, zwecks der Multiuser Fähigkeit) - Ich will den Nutzern keine zwei Logindialoge darstellen. :roll: Daher meine Frage, ob ich z.B. beim ersten Start der Anwendung einen extra Dialog anzeigen kann, indem dann die nötigen Parameter für die Datenbank gesetzt werden und anschließend in einer .ini Datei gespeichert werden? -
Gruß, Sascha |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Hallo Sascha,
mach es doch so wie Du es geschrieben hast. Falls keine INI-Datei vorhanden ist, dann zeigst Du einen Dialog mit den von Dir gewünschten Daten an. Denk an die Pflichtfelder, da Du für eine mySql Verbindung die Felder brauchst. Dann alles in eine INI-Datei und beim Programmstart wird daraus ein Connectionstring erzeugt. Fertig. bye Claus |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Hmm naja so hab ichs mir eben gedacht! Würde es also ausreichen, wenn ich ein Grundgerüst des Connectionstrigs habe, und dann die benötigten Werte über Variablen einsetze??
Bsp:
Delphi-Quellcode:
Provider=MSDASQL.1;Persist Security Info=False;User ID='+varUserID+';Data Source='+varSource+';Extended Properties="DSN='+varDSN+';DESC=MySQL ODBC 3.51 Driver DSN;DATABASE='+varDB+';SERVER='+varServer+';UID='+varUID+';PASSWORD='+varPassword+';PORT='+varPort+';SOCKET=;OPTION=3;STMT=;"
|
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Hallo Sascha,
ja genau. Nicht anders passiert in der ADO Komponente. Beim Connect werden dann die Parameter benutzt. bye Claus |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Hey Claus!
Jetzt stellt sich mir noch die Frage.. in der MySQL Datenbank "mysql" stehen ja in der Tabelle "user" die ganzen Nutzer für die Datenbanken. Die Passwörter für die User werden nun nicht im MD5 verschlüsselt.. wenn ich aber gewährleisten will, das sich die Anwendung bei gegebenen Werten automatisch connected, müsst ich das Passwort (sofern benötigt) ja ebenfalls in diesem Algorithmus verschlüsseln. Hast du da ne Idee, wie ich das machen kann? oder kann ich das Passwort sozusagen im Klartext übergeben? Gruß, Sascha |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Zitat:
Gruß, |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
:gruebel: Hmm alles kloar! Dank dir. :thumb:
|
Re: [MySQL] Connectionstring zur Laufzeit setzen??
User und Passwort können unabhängig vom Connection-String angegeben werden:
Delphi-Quellcode:
if MeinLoginDialog.ShowModal = mrOK then
begin ADOConnection1.ConnectionString := ......; // nicht Active := True sondern .Open aufrufen !!! ADOConnection1.Open(MeinLoginDialog.User, MeinLoginDialog.Password); end else Abort; |
Re: [MySQL] Connectionstring zur Laufzeit setzen??
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz