このメソッドはメタデータオブジェクトを作成します。Connector ごとにサポートされるオブジェクト型が決まっています。Connector でどのオブジェクト型がサポートされるかについては、該当する Connector のドキュメントを参照してください。
Lotus® Connector for DB2® の場合、DB2 内にオブジェクトが作成されます。DB2 でサポートされるオブジェクト型は LCOBJECT_METADATA と LCOBJECT_INDEX のみです。
LCConnection
Call lcConnection.Create(objectType, srcFieldlist)
パラメータ |
説明 |
---|---|
objectType |
Long。オブジェクトのタイプ。有効な型とその動作は以下のとおりです。Connector でどのオブジェクト型がサポートされるかについては、該当する Connector のドキュメントを参照してください。 |
LCOBJECT_SERVER SERVER プロパティから名前を取得して、サーバーオブジェクトを作成します。他の情報は Connector 固有のプロパティから取得可能です。DB2 ではサポートされません。 |
|
LCOBJECT_DATABASE DATABASE プロパティから名前を、またオプションで SERVER プロパティからサーバー名を取得して、データベースオブジェクトを作成します。他の情報は Connector 固有のプロパティから取得可能です。DB2 ではサポートされません。 |
|
LCOBJECT_METADATA METADATA プロパティから名前を取得して、メタデータオブジェクトを作成します。作成されるメタデータのフィールドには、フィールドリストのフィールドと同じ順番、データ型、および名前が使用されます。LCFIELDF_NO_CREATE フラグが設定されているフィールドはスキップされます。例えば、これにより DB2 にテーブルが作成されます。 |
|
LCOBJECT_INDEX 索引オブジェクトを作成します。索引付けするメタデータは METADATA プロパティから、作成する索引名は INDEX プロパティから取得します。作成される索引のキーフィールドは、フィールドリスト内の LCFIELD_KEY フラグが設定されているフィールドです。例えば、これにより DB2 に索引が作成されます。 |
|
LCOBJECT_FIELD フィールドオブジェクトを作成します。追加するメタデータは METADATA プロパティから取得します。メタデータに追加されるフィールドには、フィールドリストのフィールドと同じ順番、データ型、および名前が使用されます。LCFIELDF_NO_CREATE フラグが設定されているフィールドはスキップされます。DB2 ではサポートされません。 |
|
srcFieldlist |
LCFieldlist。オブジェクトを作成する際に使用するメタデータまたはキーフィールドが含まれるフィールドリスト。オブジェクト型が SERVER および DATABASE の場合にはこのパラメータは無視されます。 |
Option Public
Option Explicit
Uselsx "*lsxlc"
Sub Initialize
Dim src As New LCConnection ("db2")
Dim fldLstRecord As New LCFieldList
Dim fld As LCField
' build the table definition
' note the use of the 'MaxLength' parameter
' this is used to more closely control the datatype creation
' within the connection -- in this case DB2
' in DB2, a text stream with a MaxLength of 64 will be created
' as VARCHAR(64). if the flag LCSTREAMF_FIXED was used
' the column would be CHAR(64). The field flag LCFIELDF_NO_NULL
' would add NOT NULL to the column definition
Call FldLstRecord.Append ("ACCOUNTMANAGER", LCTYPE_INT)
Set fld = FldLstRecord.Append ("CONTACTNAME", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
Set fld = FldLstRecord.Append ("COMPANYNAME", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
Set fld = FldLstRecord.Append ("COMPANYADDRESS", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
Set fld = FldLstRecord.Append ("COMPANYCITY", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
Set fld = FldLstRecord.Append ("COMPANYSTATE", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 64, LCSTREAMFMT_LMBCS)
Set fld = FldLstRecord.Append ("COMPANYPHONE", LCTYPE_TEXT)
Call fld.SetFormatStream (0, 32, LCSTREAMFMT_LMBCS)
' set properties to connect to both data sources
src.Database = "Gold"
src.Userid = "JDoe"
src.Password = "xyzzy"
src.Metadata = "customer"
src.Connect
' create it based on the metadata property already set
On Error LCFAIL_DUPLICATE Goto tableexists
Call src.Create (LCOBJECT_METADATA, fldLstRecord)
Print "The '" & src.Metadata & "' table was created."
End
tableexists:
Print "The '" & src.Metadata & "' table exists."
End
End Sub
The 'customer' table was created.