Passwort-Abfrage abstellen/umgehen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Zuerst mal meine Konfiguration:
Ich habe eine MySQL-Datenbank auf die ich über OpenOffice Base zugreife. Nun habe ich ein externes Formular erstellt, welches auch funktioniert.

Mein Problem:
Jedes mal, wenn ich das Formular öffne, werde ich dazu aufgefordert, Benutzernamen und Passwort für die MySQL-Datenbank einzugeben.
Lässt sich das irgendwie (z.B. über ein Makro) umgehen, ohne das Passwort ganz von der Datenbank zu entfernen?
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von herz4 »

Vielleicht geht folgendes:
Vor/beim Aufruf des Formulars startet ein Makro, welches die Verbindung zur Datenbank herstellt und das Passwort übergibt?! Ich habe es noch nicht ausprobiert. Beschrieben ist die Schnittstelle im Forum als auch hier: http://www.ooowiki.de/BaseApi#head-6d60 ... 60dc46f455
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Meinst du so wie da:
viewtopic.php?f=18&t=39032&p=144620&hil ... ql#p144620
beschrieben?

Habe ich schon versucht, im Formular unter extras->anpassen->Ereignisse->Dokument öffnen eingebunden.
Die Abfrage funktioniert auch, ich bekomme in den Msgboxen die Werte angezeigt, aber das Passwort muss ich trotzdem eingeben wie gehabt.
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von herz4 »

Ja, so meinte ich.

Du hast dort hoffentlich gelesen, dass es im letzten Beitrag als erfolgreich bezeichnet wurde. Ich vermute, weil da ein wesentlicher Unterschied, eine Richtigstellung vom vorletzten zum letzten Beitrag hinzukam!
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Der wesentliche Unterschied ist, dass die im Beitrag markierte Stelle durch

Code: Alles auswählen

connection=datasource.getconnection("Benutzer","Passwort")
ersetzt wurde. Zumindest verstehe ich das so. Nun habe ich folgendes Makro:

Code: Alles auswählen

sub SetDatabaseConnection
Dim DatabaseContext As Object
Dim DataSource As Object
Dim Connection As Object
Dim Interactionhandler as Object
Dim Statement As Object
Dim ResultSet As Object
DatabaseContext=CreateUnoService("com.sun.star.sdb.DatabaseContext")
DataSource=DatabaseContext.getbyname("mySQLDatenbank")
If not Datasource.ispasswordrequired then
connection=datasource.getconnection("","")
else
connection=datasource.getconnection("Username","Password")
end if
statement = connection.createStatement()
Resultset = Statement.ExecuteQuery("Select ""Feld""From ""Tabelle""")
if not isnull(resultset) then
while resultset.next
j=0
wend
end if
end sub
Dieses habe ich nun schon an verschiedenen Stellen aufrufen lassen, auch wie im anderen Beitrag unter "Dokument öffnen".
Die Verbindung funktioniert, aber ich werde trotzdem aufgefordert das Password einzugeben. Gebe ich das Passwort nicht ein, wird die Verbindung vom Formular zur Datenbank nicht hergestellt.
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von herz4 »

Sorry, ich habe keine Erfahrungen mit Passwortanmeldung via Makro.

Aber, bei sehr "kryptischem" Passwort, alleine schon bei Benutzung von ß, #, ä, ü oder ähnlichem kommt es eventuell auf den benutzten Zeichensatz an! Oder anders herum, Dein Makro übergibt das Passwort wahrscheinlich nicht richtig?! Vielleicht ist auch der Syntax bzgl. " oder ' nur falsch ...
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Das Passwort wird definitiv richtig übergeben, ich bekomme ja die Werte aus der Datenbank per Makro auch ohne das Passwort anzugeben. Aber durch die Aktion wird anscheinend die Verbindung zwischen Formular und Datenbank nicht hergestellt, sondern nur für die dauer der Anfrage zwischen dem Makro und der Datenbank (wenn ich das richtig verstehe).
Benutzeravatar
herz4
****
Beiträge: 145
Registriert: Mi, 29.09.2010 13:41

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von herz4 »

Ich glaube, Du verstehst richtig.
Schönen Dank, habe ich auch gleich wieder was "mit"gelernt!
LinuxMint 13 maya, LibreOffice 4.1 mit externer HSQLDB 2.3.2
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Mh, so komm ich nicht weiter, hab das ganze jetzt auch auf:
http://www.openoffice-forum.de/viewtopic.php?f=9&t=1553
gepostet.
schwelmi1
*
Beiträge: 16
Registriert: Do, 11.11.2010 15:54

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von schwelmi1 »

Hast es schon mal ohne die IF-Anweisung versucht?

z. B. so:
DIM DatabaseContext AS OBJECT
DIM Datenquelle AS OBJECT
DIM Verbindung AS OBJECT




DatabaseContext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
Datenquelle = DatabaseContext.getByName( "db" )
Verbindung = Datenquelle.getConnection("Benutzer","PW")
MsgBox " DB-Verbindung besteht"
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Hab ich versucht, bringt auch nichts.
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Kann denn wirklich keiner helfen? Mit dieser Abfrage sind die letzten Wochen Arbeit an dem Formular wertlos -.-
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von AndreasJBittner »

Hallo,

Du kannst Dir doch in MySQL einen Benutzer anlegen, der einen Namen und ein leeres (kein) Passwort hat und dem Du nur Leserechte vergibst, dann kannst Du mit Deinem Formular weiterarbeiten, bis Du das mit Benutzernamen und Passwort gelöst hast.

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
arkadiuszpaluszek
****
Beiträge: 117
Registriert: So, 09.05.2010 09:53
Wohnort: Coburg
Kontaktdaten:

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von arkadiuszpaluszek »

Hallo alle miteinander,

könnte das Problem vielleicht daran liegen, dass das Formular die Verbindung zur Datenbank aufbauen will (weil ein Formular so etwas eben tut) noch bevor das Makro ausgeführt wird????

Bei mir funktioniert der oben beschrieben Code ohne Probleme, aber das Dokument in welchem der Code ausgeführt wird würde ohne des Makros von sich aus nicht versuchen die DB zu kontaktieren.

Viele Grüße

Arek
M.Z
*
Beiträge: 17
Registriert: Mo, 11.10.2010 11:15

Re: Passwort-Abfrage abstellen/umgehen

Beitrag von M.Z »

Ich habe gerade ein Dokument erstellt, das erstmal unabhängig von der Datenbank läuft. Darauf befinden sich zwei Buttons, von denen einer mit Passwort und einer ohne auf die Datenbank zugreifen. Die Verbindung zur Datenbank über Button 1 funktioniert, ich bekomme Werte aus der Datenbank angezeigt. Wenn ich danach aber den zweiten Button drücke, bekomme ich eine Fehlermeldung, der Zugriff ohne Passwort wird verweigert und wenn ich mein Formular für die Datenbank öffne, werde ich wieder aufgefordert, Passwort und Benutzer anzugeben.

Wenn ich das richtig sehe, kann ich damit ein zeitliches Problem ausschließen. Ich glaube, wie schon geschrieben, dass die Verbindung für das Makro wirklich nur temporär aufgebaut wird und nichts mit der Verbindung des Formulars zu tun hat, daher wundert es mich auch, dass das Makro bei arkadiuszpaluszek funktioniert.

Hat jemand Erfahrung mit dem Makro-Recorder und kann mal posten was herauskommt, wenn man den Aufbau der Verbindung (z.B. über Bearbeiten/Datenbanken austauschen...) manuel aufbaut?
Antworten