Hallo!
Ich möchte eine Anwendung schreiben, welche sich mit einer MySQL Datenbank verbindet - es scheitert nur an einem Punkt. Da die MySQL-Datenbank mit einem Passwort geschützt ist, muss ich dieses jedes mal wenn das Dokument startet manuell eingeben (das unten stehende Makro ist mit dem Ereignis "Dokument öffnen" verbunden). Im unten stehenden Code ist angegeben, dass im Falle, in welchem die Datenbank ein Passwort benötigt, dieses mit manueller Eingabe geschehen soll:
Nun würde ich die Zeile in welcher das angegeben ist (also die markierte Zeile) gerne mit einem Code ersetzen, welcher der Datenbank einfach das Passwort mitteilt und verbindet, ohne dass ich es jedes mal manuell machen muss. Wie kann man sowas machen?
Viele Grüße
Arek
Passwort zu MySQL über Makro eingeben
Moderator: Moderatoren
-
- ****
- Beiträge: 117
- Registriert: So, 09.05.2010 09:53
- Wohnort: Coburg
- Kontaktdaten:
Re: Passwort zu MySQL über Makro eingeben
Vermutlich so, wie es im StarOffice 8 Programming Guide for BASIC - Chapter 10 Database Access im Abschnitt Data Sources steht:arkadiuszpaluszek hat geschrieben:Nun würde ich die Zeile in welcher das angegeben ist (also die markierte Zeile) gerne mit einem Code ersetzen, welcher der Datenbank einfach das Passwort mitteilt und verbindet, ohne dass ich es jedes mal manuell machen muss. Wie kann man sowas machen?
Code: Alles auswählen
Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim InteractionHandler as Object
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Customers")
If Not DataSource.IsPasswordRequired Then
Connection = DataSource.GetConnection("","")
Else
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
Connection = DataSource.ConnectWithCompletion(InteractionHandler)
End If
Vermutlich kann man die leeren Zeichenketten in DataSource.GetConnection("","") auch mit Username und Passwort befüllen und sich so ohne Interaktion an der Datenbank anmelden: DataSource.GetConnection("MY_USER_NAME","MY_PASSWORD")StarOffice 8 Programming Guide for BASIC hat geschrieben:... it creates the database connection required using the GetConnection call. The two empty strings in the command line stand for the user name and password.
So steht es zumindest auch in der IDL reference.
-
- ****
- Beiträge: 117
- Registriert: So, 09.05.2010 09:53
- Wohnort: Coburg
- Kontaktdaten:
Re: Passwort zu MySQL über Makro eingeben
Genauso ist es!
If Not DataSource.IsPasswordRequired Then
Connection = DataSource.GetConnection("","")
Else
Connection = DataSource.GetConnection("username","password")
End If
Das hat mein Problem gelöst, vielen herzlichen Dank!
Gruß
Arek

If Not DataSource.IsPasswordRequired Then
Connection = DataSource.GetConnection("","")
Else
Connection = DataSource.GetConnection("username","password")
End If
Das hat mein Problem gelöst, vielen herzlichen Dank!
Gruß
Arek