Hi zusammen,
Folgenden Teil eines größeren Makros verwende ich unter OO 1.1.4
problemlos. Die Funktion dient zur Registrierung einer
"Tabellendokument"-Datenquelle.
Hier der Code:
Function Datenbank_registrieren(sDBName as String, sDBURL as String)
On Local Error Goto Fehler
Dim oDatabase, oDBContext as Object
Dim DBProperties(2) as New com.sun.star.beans.PropertyValue
Dim a as Integer
oDBContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDatabase = createUnoService("com.sun.star.sdb.DataSource")
DBProperties(0).Name = "URL"
DBProperties(0).Value = "sdbc:calc:" + sDBURL
DBProperties(1).Name = "User"
DBProperties(1).Value = ""
DBProperties(2).Name = "Password"
DBProperties(2).Value = ""
For a = 0 To Ubound(DBProperties())
oDatabase.SetPropertyValue(DBProperties(a).Name,
DBProperties(a).Value)
Next a
oDBContext.RegisterObject(sDBName, oDatabase) 'Datenquelle anmelden
Exit Function
Fehler:
MsgBox ("Fehler " & Err & " in der Zeile " & Erl & CHR(13) & Error$, 16,
"Fataler Fehler (Datenbank registrieren)")
End Function
Wenn ich ich das Makro unter 1.9.106 ausführen lasse, funktioniert
alles, bleibt aber bei der Zeile oDBContext.RegisterObject.... stehen.
Folgende Fehlermeldung wird angezeigt:
Fataler Fehler (Datenbank registrieren)
Fehler 1 in der Zeile 276
Type: com.sun.star.lang.IllegalArgumentException
Message: Die Datenquelle wurde nicht gespeichert. Bitte verwenden Sie
die Schnittstelle XStorable, um die Datenquelle zu speichern.
Irgendwie hab ich mir das ja schon gedacht, dass es mit OO 2.0 Probs
gibt. Ich vermute mal das liegt daran, dass Datenquelle jetzt über das
Base-Modul angelet werden und dieses speichert die Einstellungen in
einer *.odb. Lieg ich das richtig mit meiner Vermutung??
Im Developersguide steht über die XStorable folgendes:
The XStorable offers the methods store(), storeAsURL() and storeToURL()
for storing. The latter two methods are called with a media descriptor.
Stimmt das überhaupt noch für die 2.0? Weiß jemand bescheid was sich da
geändert hat?
Ich habs ja noch nicht probiert, aber funktioniert dann folgendes:
StoreAsURL(oDatabase, Properties())
Oder wie?
Wäre sehr dankbar für Hilfe.
Grüße
Max Manzenberger
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]