Top > OOobbs3 > 70

OOobbs3/70 Edit

  • サマリ: Baseでのデータベースファイルの取得について
  • 環境: Other
  • 状態: 解決
  • 投稿者: My?
  • 投稿日: 2011-10-04 (火) 16:33:54

質問 Edit

初めて投稿させていただきます。

 Baseの接続情報を取得したいと思っておりまして、unoidlからgetByNemeを使用して登録名を取得することには成功しました。

 ですが、データベースファイル(c:/test/databese.odb 等)を取得する方法がどうしても見つからなくて困っております。

 データベースファイル名を取得する方法はないのでしょうか。

 OpenOffice.org3.2.1を使用しております。

わかる方いらっしゃいましたら、よろしくお願い致します。

回答 Edit

  • どこから getByName を利用したのかよく分かりませんが、com.sun.star.sdb.DatabaseContext サービスを利用して登録済みのデータベースを利用したのだと仮定して。返り値の css.sdb.XDocumentDataSource インターフェースの DatabaseDocument 属性からデータベースドキュメントオブジェクトを参照できます。そこから getURL メソッドで odb ファイルの URL が取得できます。
    • はにゃ? 2011-10-04 (火) 18:08:21
  • 登録されているDatabase名ならば下記Codeで一覧取得出来ると思います。
    Sub oDatabase_List
     Dim dbContext As Object
     Dim dbNames as Object
     Dim d As Integer
     Dim dbText As String
    	dbContext =createUnoService("com.sun.star.sdb.DatabaseContext")
    	dbNames = dbContext.getElementNames()
    	for d=0 to UBound(dbNames())
    		dbText = dbtext + dbNames(d) + chr(10)
    	next d
    	msgbox dbText
    End Sub
    • new_OOo3 2011-10-04 (火) 18:12:19

感想,コメント,メモ Edit

はにゃ?さん、new_OOo3さん、早速のご回答ありがとうございます。質問が説明不足でしたね、すいません。おっしゃるようにcom.sun.star.sdb.DatabaseContext サービスを利用して取得しておりました。無事getURLメソッドを使用して取得することができました。ありがとうございます。



Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes