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]

Antwort per Email an