[gelöst] autoregistrierung von base Datenbank

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] autoregistrierung von base Datenbank

Re: auto registrierung von base Datenbank

von juergen_w1987 » Mi, 24.08.2011 11:30

lösugng:

Code: Alles auswählen

Sub selfRegister (dbName as String)
   Dim dbContext As Object 
   Dim regDb As Object 
   Dim isRegegistered As boolean 
   Dim url As String
   dbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
   	url = thisComponent.getUrl
	regDb = dbContext.getByName (url)
 	isRegistered = dbContext.hasRegisteredDatabase(dbName)
 		if(isRegistered) Then 
    		dbContext.revokeObject(dbName)
			dbContext.registerObject (dbName, regDb)
		else 
			dbContext.registerObject (dbName, regDb)
		End if
		
End Sub

Re: auto registrierung von base Datenbank

von komma4 » Di, 23.08.2011 22:30

juergen_w1987 hat geschrieben:Damit ich die registrierung lösche und im anschluss gleich wieder die Datenbank neu registriere.
Das ist unnötig.

Siehst Du Dir das Objekt dbContext mit einem Objekt-Inspektor, wie XRAY
an, dann siehst Du:

a) eine Methode .hasByName, um zunächst das Vorhandensein zu prüfen, damit Du in dem Fall
b) die Eigenschaft .Name mit .setPropertyValue auf einen neuen (verschobenen) Pfad ändern kannst.


Das hilft Dir weiter?

[gelöst] autoregistrierung von base Datenbank

von juergen_w1987 » Di, 23.08.2011 20:42

hallo,

habe gerade openoffice auf 3.3.0 upgedatet.
Neues problem ich habe ein skript dass die Datenbank beim starten automatisch registriert. jetzt ist das aber seit 3.3.0 anders wollte schnell mal fragen wie man das skript anpassen muss??
http://www.openoffice.org/dev_docs/feat ... istrations

Code: Alles auswählen

Sub selfRegister (dbName as String)
   
   Dim dbContext As Object 
   Dim regDb As Object 
   Dim url As String
   dbContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
   	url = thisComponent.getUrl
	regDb = dbContext.getByName (url)
	dbContext.registerObject (dbName, regDb)
Die Fehlermeldung ist dass es schon den "dbName" gibt. wäre schon zufrieden wenn mir jemand den befehl zum löschen der registrierten Datenbank sagt. Damit ich die registrierung lösche und im anschluss gleich wieder die Datenbank neu registriere.

Ps: Das ganze brauche ich da die Datenbank des öfteren hin und her geschoben wird.

danke mfg

jürgen

Nach oben