Difference between revisions of "JA/Documentation/BASIC Guide/Data Sources"

From Apache OpenOffice Wiki
Jump to: navigation, search
(New page: {{JA/Documentation/BASICGuideTOC/v2 |ShowPrevNext=block |ShowPrevPage=block |PrevPage=Documentation/BASIC Guide/Database Access Types |NextPage=Documentation/BASIC Guide/Database Access |...)
 
Line 6: Line 6:
 
|base=block
 
|base=block
 
}}
 
}}
{{DISPLAYTITLE:▼データ\'83\'5cース}}
+
{{DISPLAYTITLE:データソース}}
 
   
 
   
データベースの {{OOo}} への組み込みは、いわゆるデータソースと呼ばれるものを作成することにより実施できます。▼ユーザーインターフェースのデータ\'83\'5cース作成用オプションは、メニュー ツールに用意されています。データソースを作成し、{{OOo}} Basic を使用して操作することもできます。
+
データベースの {{OOo}} への組み込みは、いわゆるデータソースと呼ばれるものを作成することにより実施できます。ユーザーインターフェースのデータソース作成用オプションは、メニュー ツールに用意されています。データソースを作成し、{{OOo}} Basic を使用して操作することもできます。
  
データ\'83\'5cースへのアクセスを行う場合、まず最初に <tt>createUnoService</tt> 関数によるデータベースコンテキストオブジェクトの作成を行う必要があります。これはデータベース処理のルートオブジェクトとして機能するもので、その操作には <idl>com.sun.star.sdb.DatabaseContext</idl> サービスを利用します。
+
データソースへのアクセスを行う場合、まず最初に <tt>createUnoService</tt> 関数によるデータベースコンテキストオブジェクトの作成を行う必要があります。これはデータベース処理のルートオブジェクトとして機能するもので、その操作には <idl>com.sun.star.sdb.DatabaseContext</idl> サービスを利用します。
  
▼以下のサンプルコードでは、データベースコンテキストの作成方法、および使用可\'94\'5cなすべてのデータ\'83\'5cースの取得方法を示します。▼ここで取得した名前は、逐次メッセージ\'83\'7bックスに\'95\'5c示します。
+
次のサンプルコードでは、データベースコンテキストの作成方法、および使用可能なすべてのデータソースの取得方法を示します。ここで取得した名前は、逐次メッセージボックスに表示します。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 40: Line 40:
 
上記のサンプルコードでは、'''Customers''' というデータソース名を指定して、その <tt>DataSource</tt> オブジェクトを作成しています。
 
上記のサンプルコードでは、'''Customers''' というデータソース名を指定して、その <tt>DataSource</tt> オブジェクトを作成しています。
  
▼データ\'83\'5cースには各種の属性が用意されており、これらを通じてデータの出自やアクセス方式などの一般的な情報を取得することができます。▼以下にこれらの属性を 示します。
+
データソースには各種の属性が用意されており、これらを通じてデータの出自やアクセス方式などの一般的な情報を取得することができます。以下にこれらの属性を 示します。
  
 
;<tt>Name (String)</tt> データソースの名前。
 
;<tt>Name (String)</tt> データソースの名前。
;<tt>URL (String)</tt>: URL (文字列) データソースの URL (フォーマットは '''jdbc:サブプロトコル:サブネーム''' または '''sdbc:サブプロトコル:サブネーム''')。
+
;<tt>URL (String)</tt>: URL (文字列) データソースの URL (フォーマットは '''jdbc:サブプロトコル:サブネーム'''または '''sdbc:サブプロトコル:サブネーム''')。
 
;<tt>Settings (Array)</tt>: 接続パラメータを持つ <tt>PropertyValue</tt> ペアを含む配列 (通常はユーザー名とパスワードが最低必要)。
 
;<tt>Settings (Array)</tt>: 接続パラメータを持つ <tt>PropertyValue</tt> ペアを含む配列 (通常はユーザー名とパスワードが最低必要)。
 
;<tt>User (String)</tt>: ユーザー名。
 
;<tt>User (String)</tt>: ユーザー名。
Line 57: Line 57:
 
{{Documentation/Note|{{OOo}} のデータソースと ODBC のデータソースは、一対一に対応するわけではありません。ODBC のデータソースがデータの出自のみを対象としているのに対して、{{OOo}} のデータソースでは、{{OOo}} のデータベースウィンドウでのデータ表示といった、より広範な情報も格納しています。}}
 
{{Documentation/Note|{{OOo}} のデータソースと ODBC のデータソースは、一対一に対応するわけではありません。ODBC のデータソースがデータの出自のみを対象としているのに対して、{{OOo}} のデータソースでは、{{OOo}} のデータベースウィンドウでのデータ表示といった、より広範な情報も格納しています。}}
  
==▼クエリー==
+
==クエリー==
  
▼データ\'83\'5cースに対しては、事前定義されたクエリーを利用できます。{{OOo}} は、SQL のクエリーコ\'83\'7dンドを記録して、随時利用できるようにしています。▼クエリーとは、データベースの利用を簡単化する目的で開発されたもので、SQL に関する専門的な知識をもたないユーザーでも、\'83\'7dウスによるクリック操作のみで SQL コ\'83\'7dンドの実行に必要な各種オプションを指定できます。
+
データソースに対しては、事前定義されたクエリーを利用できます。{{OOo}} は、SQL のクエリーコマンドを記録して、随時利用できるようにしています。クエリーとは、データベースの利用を簡単化する目的で開発されたもので、SQL に関する専門的な知識をもたないユーザーでも、マウスによるクリック操作のみで SQL コマンドの実行に必要な各種オプションを指定できます。
  
クエリーを使用する場合、<idl>com.sun.star.sdb.QueryDefinition</idl> サービスをサポートしたオブジェクトを直接操作する必要はありません。▼クエリーへのアクセスは、該当するデータ\'83\'5cースに対して <tt>QueryDefinitions</tt> メ\'83\'5cッドを適用することにより実行できます。
+
クエリーを使用する場合、<idl>com.sun.star.sdb.QueryDefinition</idl> サービスをサポートしたオブジェクトを直接操作する必要はありません。クエリーへのアクセスは、該当するデータソースに対して <tt>QueryDefinitions</tt> メソッドを適用することにより実行できます。
  
▼以下のサンプルコードでは、データ\'83\'5cースに記録されているクエリー名の一覧を取得して、逐次メッセージ\'83\'7bックスに\'95\'5c示します。
+
次のサンプルコードでは、データソースに記録されているクエリー名の一覧を取得して、逐次メッセージボックスに表示します。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 87: Line 87:
 
;<tt>Command (String)</tt>: SQL コマンド (通常 <tt>SELECT</tt> コマンド)。
 
;<tt>Command (String)</tt>: SQL コマンド (通常 <tt>SELECT</tt> コマンド)。
  
▼以下のサンプルコードは、プログラム制御によるクエリーオブジェクトの作成およびデータ\'83\'5cースへの登録を行う場合の例です。
+
次のサンプルコードは、プログラム制御によるクエリーオブジェクトの作成およびデータソースへの登録を行う場合の例です。
  
 
<source lang="oobas">
 
<source lang="oobas">
Line 104: Line 104:
 
</source>
 
</source>
  
この場合の処理の流れは、まず最初に <tt>createUnoService</tt> を用いてクエリーオブジェクトを作成し、次にその初期化を行い、最後に <tt>QueryDefinitions</tt> メソッドにより <tt>insertByName</tt> オブジェクトへ追加します。
+
この場合の処理の流れは、まず最初に <tt>createUnoService</tt> を用いてクエリーオブジェクトを作成し、次にその初期化を行い、最後に <tt>insertByName</tt> メソッドにより <tt>QueryDefinitions</tt> オブジェクトへ追加します。
  
 
{{PDL1}}
 
{{PDL1}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Data Sources}}
 
{{InterWiki_Languages_BasicGuide|articletitle=Documentation/BASIC Guide/Data Sources}}

Revision as of 22:08, 27 November 2008

doc OOo
Book.png


データベースの Apache OpenOffice への組み込みは、いわゆるデータソースと呼ばれるものを作成することにより実施できます。ユーザーインターフェースのデータソース作成用オプションは、メニュー ツールに用意されています。データソースを作成し、Apache OpenOffice Basic を使用して操作することもできます。

データソースへのアクセスを行う場合、まず最初に createUnoService 関数によるデータベースコンテキストオブジェクトの作成を行う必要があります。これはデータベース処理のルートオブジェクトとして機能するもので、その操作には com.sun.star.sdb.DatabaseContext サービスを利用します。

次のサンプルコードでは、データベースコンテキストの作成方法、および使用可能なすべてのデータソースの取得方法を示します。ここで取得した名前は、逐次メッセージボックスに表示します。

Dim DatabaseContext As Object
Dim Names
Dim I As Integer
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
 
Names = DatabaseContext.getElementNames()
 
For I = 0 To UBound(Names())
  MsgBox Names(I)
Next I

個々のデータソースは com.sun.star.sdb.DataSource サービスをベースとしており、データベースコンテキストに getByName メソッドを適用することで各データソースを個別に指定できます。

Dim DatabaseContext As Object
Dim DataSource As Object
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Customers")

上記のサンプルコードでは、Customers というデータソース名を指定して、その DataSource オブジェクトを作成しています。

データソースには各種の属性が用意されており、これらを通じてデータの出自やアクセス方式などの一般的な情報を取得することができます。以下にこれらの属性を 示します。

Name (String) データソースの名前。
URL (String)
URL (文字列) データソースの URL (フォーマットは jdbc:サブプロトコル:サブネームまたは sdbc:サブプロトコル:サブネーム)。
Settings (Array)
接続パラメータを持つ PropertyValue ペアを含む配列 (通常はユーザー名とパスワードが最低必要)。
User (String)
ユーザー名。
Password (String)
ユーザーパスワード (保存されません)。
IsPasswordRequired (Boolean)
ユーザーに対してパスワードを要求する指定。
IsReadOnly (Boolean)
データベースへの読み取り専用アクセスを許可。
NumberFormatsSupplier (Object)
データベースに使用可能な数値書式を含むオブジェクト (com.sun.star.util.XNumberFormatsSupplier インターフェースをサポート)。
TableFilter (Array)
表示させるテーブル名のリスト。
TableTypeFilter (Array)
表示させるテーブルの種類のリスト。使用可能な値: TABLEVIEW および SYSTEM TABLE
SuppressVersionColumns (Boolean)
バージョン管理用の列を非表示とする指定。

Template:Documentation/Note

クエリー

データソースに対しては、事前定義されたクエリーを利用できます。Apache OpenOffice は、SQL のクエリーコマンドを記録して、随時利用できるようにしています。クエリーとは、データベースの利用を簡単化する目的で開発されたもので、SQL に関する専門的な知識をもたないユーザーでも、マウスによるクリック操作のみで SQL コマンドの実行に必要な各種オプションを指定できます。

クエリーを使用する場合、com.sun.star.sdb.QueryDefinition サービスをサポートしたオブジェクトを直接操作する必要はありません。クエリーへのアクセスは、該当するデータソースに対して QueryDefinitions メソッドを適用することにより実行できます。

次のサンプルコードでは、データソースに記録されているクエリー名の一覧を取得して、逐次メッセージボックスに表示します。

Dim DatabaseContext As Object
Dim DataSource As Object
Dim QueryDefinitions As Object
Dim QueryDefinition As Object
Dim I As Integer
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Customers")
QueryDefinitions = DataSource.getQueryDefinitions()
 
For I = 0 To QueryDefinitions.Count() - 1
  QueryDefinition = QueryDefinitions(I)
  MsgBox QueryDefinition.Name
Next I

com.sun.star.sdb.QueryDefinition サービスには、上記のサンプルコードで使用した Name 属性をはじめとする各種の属性が用意されています。以下にその属性を示します。

Name (String)
クエリー名。
Command (String)
SQL コマンド (通常 SELECT コマンド)。

次のサンプルコードは、プログラム制御によるクエリーオブジェクトの作成およびデータソースへの登録を行う場合の例です。

Dim DatabaseContext As Object
Dim DataSource As Object
Dim QueryDefinitions As Object
Dim QueryDefinition As Object
Dim I As Integer
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Customers")
QueryDefinitions = DataSource.getQueryDefinitions()
QueryDefinition = createUnoService("com.sun.star.sdb.QueryDefinition")
QueryDefinition.Command = "SELECT * FROM Customer"
QueryDefinitions.insertByName("NewQuery", QueryDefinition)

この場合の処理の流れは、まず最初に createUnoService を用いてクエリーオブジェクトを作成し、次にその初期化を行い、最後に insertByName メソッドにより QueryDefinitions オブジェクトへ追加します。

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools