データ入出力の概要

はじめに


概要

Asprovaのデータはデータ入出力(DBIO)オブジェクトを使い、外部データから読み込み、外部データに書き出しすることができます。

■データ入出力(DBIO)オブジェクト

DBIOオブジェクトは、「テーブル名」プロパティに指定したテーブルのインポート、エクスポート、同期化を行なうことが出来ます。
プロジェクトが持っているDBIOオブジェクトは、メニューの「ファイル」-「データ入出力設定」を選択すると表示されます。

DBIOオブジェクトは複数作成可能であり、必要があれば削除することも可能です。
インポート、エクスポート、同期化を行なうかどうかは、「インポートする」「エクスポートする」「同期化する」プロパティにより設定可能です。

これらのDBIOオブジェクトは、インポートコマンド、エクスポートコマンド、同期化コマンドから指定されて、動作します。
たとえば、デフォルトのインポートコマンド(「プロジェクト」-「コマンド」-「データベース入出力」-「インポート」)の「DBIOオブジェクト(インポート) 」プロパティには「DBIO」と指定されていますが、これはすべてのDBIOオブジェクトを選択することを意味しています。
ここに、DBIOオブジェクトのコードを指定すると、DBIO専用のコマンドを作成することができます。


DBIOオブジェクトを追加する

データ入出力設定に新しくDBIOオブジェクトを追加することが出来ます。
追加は以下の手順で行います。

  1. メニューの「ファイル」-「データ入出力設定」で、データ入出力設定のテーブルを開きます。
  2. 最後の行のコードに任意の文字列で重複がないようにコードを設定します。
  3. テーブル名を設定します。既に設定されているクラス名を参考に設定して下さい。

他のプロパティはデータ入出力の方法に合わせて適宜設定して下さい。


■データソース

データソース種別プロパティでOLE DBとテキストファイルを選択することが出来ます。


OLE DB

OLE DBを選択した場合、接続文字列プロパティはお使いになるデータベース用のOLE DBドライバを選択し、ファイル/テーブル名プロパティは接続したデータベースのテーブルを設定することになります。

OLE DB接続に関する注意点はこちらをご覧ください。


パスワードの暗号化

データ入出力の接続文字列を、以下のデータリンクプロパティダイアログにて設定した場合に、接続文字列内のパスワードが暗号化されます。(セキュリティ強化のため、Ver.6.1.2から追加された機能です。)

 

Ver.6.1.2以前に作成されたプロジェクトでは、データリンクプロパティダイアログにて再度接続文字を設定することで、パスワードが暗号化されますが、再設定しない状態では、パスワードは暗号化されません。
暗号化されない状態の場合、接続文字列のプロパティの値をセル上で直接確認したり、コピー&ペーストでエディタなどに貼り付けた際に、パスワードがそのままの文字で表示されます。

※パスワードが暗号化されていても、暗号化されていなくても、データベースへの接続には支障はありません。


テキストファイル

テキストファイルを選択した場合、接続文字列プロパティでは保存先のフォルダを選択して、ファイル/テーブル名プロパティでは保存時のテキストファイルのファイル名を設定します。フィールド区切り文字と小数点文字プロパティを変更すれば、カンマ区切りかタブ区切りかを選択することもできます。
デフォルトでは、データソースはテキストファイル、フィールド区切り文字はタブ区切りになっています。接続文字列は空欄ですが、その場合はARファイルと同じフォルダにテキストファイルが保存されます。



■フィールドマッピング

テーブルはたくさんのプロパティ(フィールド)を持っています。どのフィールドを入出力するかどうかはフィールドマッピングで設定できます。
フィールドマッピングはDBIOオブジェクトごとに持たせることができます。
フィールドマッピングはフィールドマッピングビューウィンドウを使って編集可能です。

フィールドマッピングのプロパティは、以下のようにコピー&ペーストすることができます。(Ver.6.0.1より対応)



AsprovaのテーブルをRDBMSに繋げる場合、RDBMS側のテーブル名前及びフィールド名前には特殊文字(例えば&%#/等)を使えません。つまり、英語文字A~Z、数字0~9、日本語又は他の言語(日本語でも特殊文字は使えません)の以外は使えません。
また、フィールド名の先頭に数字(全角/半角問わず)は使用できません。

デフォルトの入出力については、こちらをご覧下さい。


■プライマリキー

Asprova内部データと外部データはプライマリキーがすべて等しいかどうかで同一レコードかどうかを判断します。
オーダテーブルはデフォルトではオーダコードがプライマリキーになっていますが、オーダ種別もプライマリキーに設定すれば、
オーダコードが重複しても、オーダ種別さえ異なれば、異なるレコードであると認識されます。
プライマリキーはフィールドマッピングビューウィンドウにて編集可能です。
現在の仕様では、オブジェクトIDはプライマリキーに設定できません。


■フィールドごとの設定

データ入出力で以下の設定をフィールドごとに行うことができます。
設定は、マッピングビューの右側の外部フィールドのフィールド名をクリックして、プロパティウィンドウから設定します。
マッピングビューの右側のテーブルは、データ入出力オブジェクトがもっているフィールド設定クラスのオブジェクトのリストで、このオブジェクト1つ1つが1つ1つのフィールドに対応しています。そのため、以下のプロパティはフィールドごとの設定になっています。


プロパティマージルール

インポート時のマージのルールを設定します。詳細はマージルールと変更フラグをご覧下さい。

ダブルクォーテーションでくくる

外部データソースがテキストファイルでフィールド区切り文字と小数点文字が“カンマ&ドット”の場合にデータをダブルクォーテーションでくくるかどうかを設定します。
“はい”の場合はダブルクォーテーションでくくり、“いいえ”の場合はダブルクォーテーションでくくりません。

自動生成オブジェクト

プロパティの型が“WBS参照”のフィールドの場合にインポートしたデータでオブジェクトを自動生成するかどうかを設定します。
“はい”の場合は自動生成して、“いいえ”の場合は自動生成しません。
例えば、オーダの品目コードの自動生成オブジェクトを“はい”に設定しておけば、オーダに設定してある品目コードが品目に設定されていないなら、その品目オブジェクトを自動生成します。“いいえ”の場合はメッセージウィンドウにエラーを表示して、品目オブジェクトは自動生成しません。オーダの品目コードもブランクになります。

デフォルト値をエクスポートする

“はい”に設定した場合、値が設定されていない場合でデフォルト値の設定があるなら、デフォルト値をエクスポートします。
“いいえ”に設定した場合は、値が設定されていない場合、デフォルト値が設定してあっても、何もエクスポートしません。
デフォルト値については、こちらをご覧下さい。

時間単位

時間を示すフィールドの場合で、入出力するデータの単位を設定します。設定項目は以下の通りです。

単位を秒で入出力します。

単位を分で入出力します。

時間

単位を時間で入出力します。


HelpNo.:757100
© 2017 Asprova Corporation, All rights reserved.