開発者リファレンス > プラットフォーム管理 > Distributed Tuning Objects (DTO) Guide > DTO を使用したカタログと辞書の作成および管理
DTO を使用したカタログと辞書の作成および管理
以下のトピックでは、Distributed Tuning Objects のカタログ グループを構成するオブジェクトについて説明します。
DtoDatabases コレクション
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoDatabases コレクションの特定のメンバーを返します。
メソッド
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッション オブジェクトのインスタンスを作成し、サーバーに接続する
Dim my_session as New DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッション オブジェクトを使用して Databases コレクションを取得する
Dim my_databases as DtoDatabases
Set my_databases = my_session.Databases
関連項目
メソッドの詳細
Add
DtoDatabases コレクションに項目を追加します。
構文
result = Collection.Add(Object[, dsnName])
引数
Collection
オブジェクトを追加する DtoDatabases コレクション。
Object
新しい DtoDatabase オブジェクト。
dsnName
省略可能。新しいデータベースの標準サーバー DSN を作成します。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドはオブジェクト タイプのパラメーターを使用します。このため、コレクションにオブジェクトを追加する前に、まずオブジェクトのインスタンスを作成してそのプロパティを設定する必要があります。
このメソッドは、指定したデータベースをコレクションとサーバー上の基となる DBNAMES.CFG ファイルに追加します。
Dim result As dtoResult
Dim database As DtoDatabase
 
Set database = New DtoDatabase
'新しいデータベースにプロパティを設定する
database.Name = "MyDemodata"
database.DdfPath = "C:\test"
database.DataPath = "C:\test"
database.Flags = dtoDbFlagCreateDDF + dtoDbFlagRI
 
result = my_session.Databases.Add(database)
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
Remove
DtoDatabases コレクションから項目を削除します。
構文
result = Collection.Remove(database[, deleteDDF])
引数
Collection
オブジェクトを削除するコレクション。
database
コレクションから削除する項目の(1 から始まる)インデックスまたは項目のデータベース名を含むバリアントを指定できます。
deleteDDF
辞書ファイルを削除するには True を設定します。
辞書ファイルを完全に残す場合は False を設定します。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドは、データベース コレクションおよび基となる DBNAMES.CFG ファイルから項目を削除します。
Dim result As dtoResult
result = my_session.Databases.Remove("MyDemodata",1)
If NOT result = Dto_Success Then
MsgBox "Error"+ my_session.Error(result)
End If
DtoDatabase オブジェクト
プロパティ
DataPath
データベースのデータの場所を取得または設定します。
DbCodePage
データベースのコード ページを取得または設定します。このプロパティは列挙型です。値の一覧については、データベース コード ページを参照してください。ゼロの値はサーバーのエンコード(データベース エンジンを起動しているサーバーのコード ページ)を指定します。
DbFlags
データベースのデータベース フラグを取得または設定します。このプロパティは列挙型です。値の一覧については、データベース フラグを参照してください。
DdfPath
データベースの辞書のパスを取得または設定します。
Name
データベースの名前を設定または取得します。
Secured
データベースにセキュリティが設定されているかどうかを返します(0 = セキュリティ未設定、1 = セキュリティ設定済み)
Session
この DtoDatabase オブジェクトに関連付けられている Session オブジェクトを取得または設定します。
コレクション
メソッド
備考
Secure メソッドおよび UnSecure メソッドは、データベースが閉じている場合にのみ使用可能です。
以下の例では、セッション オブジェクトのインスタンスを作成し、サーバーに接続する方法を示します。
'セッション オブジェクトのインスタンスを作成し、サーバーに接続する
Dim my_session as New DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッション オブジェクトを使用して Databases コレクションを取得する
Dim my_databases as DtoDatabases
Set my_databases = my_session.Databases
 
'最初のデータベースを取得し、その辞書のパスを照会する
Dim first_database as DtoDatabase
Dim dictionarypath as string
Set first_database = my_databases(1)
dictionarypath = first_database.DdfPath
以下の例では、"Demodata" サンプル データベースで DBCodePage プロパティを使用してコード ページを取得および設定する方法を示します。
Dim m_dtoSession1 As New DtoSession
Dim result As dtoResult
result = m_dtoSession1.Connect("localhost", "", "")
Dim sCodePage As String
sCodePage = m_dtoSession1.Databases("DEMODATA").DBCodePage
MsgBox "Code Page for database (before change): " & CStr(sCodePage)
If result = Dto_Success Then
Rem Set the code page for the database by passing in
Rem the code page number (for example, 0, 932, 1252,
Rem and so forth).
m_dtoSession1.Databases("DEMODATA").DBCodePage = 0
End If
MsgBox "Code Page for database: " & CStr(m_dtoSession1.Databases("DEMODATA").DBCodePage)
m_dtoSession1.Disconnect
関連項目
メソッドの詳細
AddUserToGroup
既存ユーザーをデータベースの既存グループに追加します。
構文
result = Object.AddUserToGroup(username, groupname)
引数
Object
Dtodatabase オブジェクト。
username
グループに追加するユーザー名。
groupname
ユーザーを追加するグループ名。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
この関数は、指定したグループまたはユーザーがデータベースにあらかじめ存在していない場合や、ユーザーが別のグループのメンバーである場合は失敗します。
以下の前提条件を満たす必要があります。
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
ユーザーおよびグループは指定したデータベースに既に存在している。
ユーザーは別のグループのメンバーではない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function AddUserToGroup(sUserName As String, sGroupName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、グループにユーザーを追加しましょう
res = m_dbn.AddUserToGroup(sUserName, sGroupName)
If res <> Dto_Success Then
LogResult("グループへのユーザーの追加でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザー " & sUserName & " がグループ " & sGroupName & " に追加されました。")
End If
End If
m_dbn.Close
End Function
AlterUserName
指定されたデータベースの既存のユーザーの名前を変更します。
構文
result = Object.AlterUserName(username, new_username)
引数
Object
Dtodatabase オブジェクト。
username
既存のデータベース ユーザーの名前。
new_username
データベース ユーザーの新しい名前。ヌルを設定すると関数は失敗します。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
ユーザー名は指定したデータベースに既に存在している。
新しいユーザー名が指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function AlterUserName(sUserName As String, sNewUserName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、ユーザー名を変更しましょう
res = m_dbn.AlterUserName(sUserName, sNewUserName)
If res <> Dto_Success Then
LogResult("ユーザー名の変更でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザー名は正常に変更されました。新しいユーザー名:" & sNewUserName)
End If
End If
m_dbn.Close
End Function
AlterUserPassword
既存のユーザーのパスワードを変更します。
構文
result = Object.AlterUserPassword(username, new_password)
引数
Object
Dtodatabase オブジェクト。
username
パスワードを変更するデータベース ユーザーの名前。
new_password
ユーザーの新しいパスワード。ヌルを設定するとパスワードがクリアされます。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
ユーザー名は指定したデータベースに既に存在している。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function AlterUserPassword(sUser As String, sNewPassword As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、ユーザーのパスワードを変更しましょう
res = m_dbn.AlterUserPassword(sUser, sNewPassword)
If res <> Dto_Success Then
LogResult("ユーザーのパスワードの変更でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザーのパスワードは正常に変更されました。")
End If
End If
m_dbn.Close
End Function
Close
Open メソッドを使用して開いたデータ辞書ファイルのセットを閉じます。
構文
result = Object.Close
引数
Object
DtoDatabase オブジェクト
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
Open メソッドを使ってデータベースを開い後にこのメソッドを呼び出します。エラー情報は Error プロパティを使って取得することができます。
Dim m_database as new DtoDatabase
Dim result as DtoResult
 
result = m_database.Open("dbuser","pwd")
 
' ここで操作を実行
'
result = m_database.Close
Copy
現在のデータベースを基にして新しいデータベースを作成します。
構文
result = Object.Copy(username, password, newDBname, newDictionaryPath, newDataPath)
引数
Object
DtoDatabase オブジェクト
username
データベース用のデータベース ユーザー名です。データベースにセキュリティが設定されていない場合、空文字列を設定します。
password
データベース ユーザーのパスワードです。データベースにセキュリティが設定されていない場合、空文字列を設定します。
newDBname
コピーしたデータベース用のデータベース名です。
newDictionaryPath
辞書ファイルを作成するディレクトリへの絶対パス。これは既存のディレクトリでなければなりません。
newDataPath
データベースのデータ パスです。デフォルトのデータ パス(つまり、辞書パスと同じパス)を使用するには、空文字列を渡します。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
コピーされたデータベースにおいて参照整合性は保持されます。
このメソッドで返されるエラーの詳細については、Error プロパティを使って取得することができます。
Dim Database As New DtoDatabase
Dim result as DtoResult
Database.Session = my_session 'セッションが存在すると仮定
Database.Name = "DEMODATA"
'セキュリティが設定されていないデータベースではユーザー名とパスワードは不要
result = Database.Copy("", "", "DEMODATA2", "D:\DEMODATA2", "D:\DEMODATA2")
 
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
CreateGroup
既存のデータベースに新しいユーザー グループを作成します。
構文
result = Object.CreateGroup(groupname)
引数
Object
Dtodatabase オブジェクト。
groupname
データベースに追加するグループの名前。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
同じ名前のグループが指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function CreateGroup(sGroupName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、グループを作成しましょう
res = m_dbn.CreateGroup(sGroupName)
If res <> Dto_Success Then
LogResult("グループの作成でエラーが発生しました:" & CStr(res))
Else
LogResult("グループ " & sGroupName & " が作成されました。")
End If
End If
m_dbn.Close
End Function
CreateUser
既存のデータベースに新しいユーザーを作成します。任意で、パスワードを設定することと、新しいユーザーを既存のグループに割り当てることができます。
構文
result = Object.CreateUser(username[, password][, groupname])
引数
Object
Dtodatabase オブジェクト。
username
データベースに追加するユーザーの名前。
password
ユーザー パスワード。ヌルを設定するとパスワードは設定されません。
groupname
ユーザーを割り当てるデータベース グループの名前。ヌルを設定するとユーザーはグループに割り当てられません。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
以下の前提条件を満たす必要があります。
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
同じ名前のユーザーが指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function CreateUser(sUserName As String, sPassword As String, sGroupName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、グループを作成しましょう
res = m_dbn.CreateUser(sUserName, sPassword, sGroupName)
If res <> Dto_Success Then
LogResult("ユーザーの作成でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザー " & sUserName & " がグループ " & sGroupName & " に作成されました。")
End If
End If
m_dbn.Close
End Function
DropGroup
データベースから既存のグループを削除します。
構文
result = Object.DropGroup(groupname)
引数
Object
Dtodatabase オブジェクト。
groupname
データベースから削除するグループの名前。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
同じ名前のグループが指定したデータベースに存在していない。
グループにはメンバーが含まれていない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function DropGroup(sGroupName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、グループを削除しましょう
res = m_dbn.DropGroup(sGroupName)
If res <> Dto_Success Then
LogResult("グループの削除でエラーが発生しました:" & CStr(res))
Else
LogResult("グループ " & sGroupName & " が削除されました。")
End If
End If
m_dbn.Close
End Function
DropUser
データベースから既存のユーザーを削除します。
構文
result = Object.DropUser(username)
引数
Object
Dtodatabase オブジェクト。
username
データベースから削除するユーザーの名前。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
同じ名前のユーザーが指定したデータベースに存在している。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function DropUser(sUserName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、ユーザーを削除しましょう
res = m_dbn.DropUser(sUserName)
If res <> Dto_Success Then
LogResult("ユーザーの削除でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザー " & sUserName & " の削除は完了しました。")
End If
End If
m_dbn.Close
End Function
Open
指定したユーザー名とパスワードでデータベースへの接続を開きます。
構文
result = Object.Open(username, password)
引数
Object
DtoDatabase オブジェクト
username
データベース用のユーザー名です。データベースにセキュリティが設定されていない場合、空の文字列を設定します。
password
データベース用のパスワードです。データベースにセキュリティが設定されていない場合、空の文字列を設定します。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
この操作は、辞書ファイルのセットを開く手段として使用されます。このセットには、FILE.DDF、INDEX.DDF および FIELD.DDF が含まれます。また、多くのオプション DDF ファイルも含まれています。メモリを解放するために Close メソッドを呼び出すことを忘れないでください。データベースを一度開くと、Close メソッドが呼び出されるまでほかの誰もその辞書セットに変更を行うことができません。
データベースが開いている間は、Secure または UnSecure メソッドを実行できません。
このメソッドで返されるエラーの詳細については、DtoSession オブジェクトError プロパティを使って取得することができます。
Dim m_session as new DtoSession
Dim m_database as new DtoDatabase
Dim result as DtoResult
result = m_session.Connect("myserver","user","pwd")
m_database.Session = m_session
m_database.Name = "DEMODATA"
result = m_database.Open("dbuser","pwd")
RemoveUserFromGroup
既存のグループから既存のユーザーを削除します。
構文
result = Object.RemoveUserFromGroup(groupname, username)
引数
Object
Dtodatabase オブジェクト。
groupname
データベース グループ名
username
データベース ユーザー名
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。
備考
まずセッションを作成し、次に Open を使って "Master" ユーザーとしてデータベースを正常に開いておく。
関連するデータベースはデータベース レベルのセキュリティが有効である。
ユーザーおよびグループは指定したデータベースに既に存在している。
ユーザーは別のグループのメンバーではない。
次の事後条件を満たす必要があります。
Close を使ってデータベースを閉じ、リソースを解放する。
Function RemoveUserFromGroup(sUserName As String, sGroupName As String) As Boolean
Dim res As dtoResult
Dim m_dbn As New DtoDatabase
Dim m_dbn.Session = m_dto
Dim m_dbn.Name = "demodata"
res = m_dbn.Open("Master", "1234")
If res = Dto_Success Then
'正常に開いたら、グループからユーザーを削除しましょう
res = m_dbn.RemoveUserFromGroup(sGroupName, sUserName)
If res <> Dto_Success Then
LogResult("グループからのユーザーの削除でエラーが発生しました:" & CStr(res))
Else
LogResult("ユーザー " & sUserName & " をグループ " & sGroupName & " から削除しました。")
End If
End If
m_dbn.Close
End Function
Secure
データベースのセキュリティを有効にします。
構文
result = Object.Secure(user, password)
引数
Object
DtoDatabase オブジェクト
user
データベースのセキュリティを有効にできる「Master」として設定するユーザー。
password
Master ユーザーのパスワード。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
データベースのセキュリティを有効にする際、データベース ユーザー名として Master を指定し、パスワードを選択する。データベースのセキュリティは、そのデータベースに定義されているアクセス権に基づいて施行されます。このセキュリティは SQL または ODBC アクセス方法で見られる動作と一致します。
セキュリティを設定する場合は、データベースが閉じていることを確認してください。
このメソッドで返されるエラーの詳細については、DtoSession オブジェクトError プロパティを使って取得することができます。
Dim m_database as new DtoDatabase
Dim result as DtoResult
m_database.Name = "DEMODATA"
m_database.Session = my_session 'セッションが存在すると仮定
result = m_database.Secure("Master", "password")
UnSecure
データベースのセキュリティを無効にします。
構文
result = Object.UnSecure(user, password)
引数
Object
DtoDatabase オブジェクト
user
データベースのセキュリティを無効にできる「Master」として設定するユーザー。
password
Master ユーザーのパスワード。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
データベースのセキュリティを無効にする際、データベース ユーザーとして Master を指定し、Master ユーザー パスワードを提供する必要があります。
セキュリティを無効にする場合は、データベースが閉じていることを確認してください。
このメソッドで返されるエラーの詳細については、DtoSession オブジェクトError プロパティを使って取得することができます。
Dim m_database as new DtoDatabase
Dim result as DtoResult
m_database.Name = "DEMODATA"
m_database.Session = my_session 'セッションが存在すると仮定
result = m_database.UnSecure("Master", "password")
DtoDSNs コレクション
DtoDSN オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoDSNs コレクションの特定のメンバーを返します。
メソッド
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッション オブジェクトのインスタンスを作成する
Dim my_session as New DtoSession
Dim result as DtoResult
 
'サーバーに接続する
result = my_session.Connect("myserver", "username", "password")
 
'DSN コレクションを取得する
Dim my_dsns as DtoDSNs
Set my_dsns = my_session.DSNs
関連項目
メソッドの詳細
Add
DtoDSNs コレクションに項目を追加し、サーバーに DSN を作成します。
構文
result = Collection.Add(Object)
引数
Collection
オブジェクトを追加する DtoDSNs コレクション。
Object
新しい DtoDSN オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドはオブジェクト タイプのパラメーターを使用します。このため、コレクションにオブジェクトを追加する前に、まずオブジェクトのインスタンスを作成してそのプロパティを設定する必要があります。
Dim result As dtoResult
Dim DSNs As DtoDSNs
Dim dsn As DtoDSN
 
Set dsn = New DtoDSN
 
'新しい DSN にプロパティを設定する
dsn.Name = "MyDemodata_DSN"
dsn.Description = "a sample DSN"
dsn.Dbname = "MyDemodata"
dsn.Openmode = dtoNormalDSNOpenMode
 
result = my_session.DSNs.Add(dsn)
If NOT result = Dto_Success Then
MsgBox "Error"+ my_session.Error(result)
End If
Remove
DtoDSNs コレクションから DSN 項目を削除し、サーバーからも削除します。
構文
result = Collection.Remove(dsn)
引数
Collection
オブジェクトを削除するコレクション。
dsn
コレクションから削除する項目の(1 から始まる)インデックスまたは項目の名前を含むバリアントを指定できます。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドでは、関連するデータベースまたはデータベース名を削除しません。
Dim result As dtoResult
Dim DSNs As DtoDSNs
result = my_session.DSNs.Remove("MYDSN")
If NOT result = Dto_Success Then
MsgBox "Error"+ my_session.Error(result)
End If
DtoDSN オブジェクト
Zen DSN を表すオブジェクトです。
プロパティ
DbName
DSN に関連付けられているデータベース名を取得または設定します。
Description
DSN の説明を設定または取得します。
Name
DSN の名前を設定または取得します。
OpenMode
DSN のオープン モード(列挙型)を設定または取得します。
可能な値については、DSN オープン モードを参照してください。
Session
この DtoDSN オブジェクトに関連付けられている DtoSession オブジェクトを取得または設定します。
Translate
エンコード変換を取得または設定します。これはデータベース エンジンとクライアント アプリケーション間で文字データをどのように変換するかを指定します。このプロパティは列挙型です。値の一覧については、DSN 変換オプションを参照してください。
メソッド
なし
備考
特定のデータベースに関する情報を取得するには、DtoDatabase オブジェクトを使用します。
DSN の関連するデータベース名を照会するには
'セッション オブジェクトのインスタンスを作成する
Dim my_session as New DtoSession
'サーバーに接続する
my_session.Connect("myserver", "username", "password")
'セッション オブジェクトを使用して Databases コレクションを取得する
my_dsns = my_session.DSNs
first_dsn = my_dsns.Item(1)
dsn_dbname = first_dsn.DbName
新しい DSN を追加するには
'セッション オブジェクトのインスタンスを作成する
Dim my_session as New DtoSession
Dim result as dtoResult
 
'サーバーに接続する
result = my_session.Connect("myserver", "username", "password")
'セッション オブジェクトを使用して DSN コレクションを取得する
Dim my_dsns as DtoDSNs
Set my_dsns = my_session.DSNs
 
'新しい DtoDSN オブジェクトを作成する
Dim NewDSN as New DtoDSN
NewDSN.DbName = "DEMODATA"
NewDSN.Description = "A DSN for the DEMODATA db"
NewDSN.Name = "Demodata_DSN"
 
'新しい DSN をコレクションに追加する
result = my_dsns.Add(NewDSN)
エンコード変換を取得または設定するには
Dim m_dtoSession1 As New DtoSession
Dim result As dtoResult
result = m_dtoSession1.Connect("localhost", "", "")
Dim sTranslate As String
Dim iTranslate As Integer
iTranslate = m_dtoSession1.DSNs("DEMODATA").Translate
If iTranslate = 0 Then sTranslate = "None"
If iTranslate = 1 Then sTranslate = "OEM/ANSI Conversion"
If iTranslate = 2 Then sTranslate = "Automatic"
 
MsgBox "DSN Translate Setting (before change): " & sTranslate
If result = Dto_Success Then
Rem set the encoding translation.
m_dtoSession1.DSNs("DEMODATA").Translate = 1
End If
iTranslate = m_dtoSession1.DSNs("DEMODATA").Translate
If iTranslate = 0 Then sTranslate = "None"
If iTranslate = 1 Then sTranslate = "OEM/ANSI Conversion"
If iTranslate = 2 Then sTranslate = "Automatic"
 
MsgBox "DSN Translate Setting (after change): " & sTranslate
m_dtoSession1.Disconnect
関連項目
DtoDictionary オブジェクト
Zen 辞書を表すオブジェクトです。このオブジェクトは DtoDatabase オブジェクトに置き換わるため、使用することは推奨されません。DtoDictionary は、Open メソッドで辞書へのパスを指定する場合にのみ今後も使用できます。
プロパティ
Path
辞書オブジェクトのパスを返します。
コレクション
メソッド
備考
辞書ファイルに影響するすべての操作は、このオブジェクトから行う必要があります。このオブジェクトを使用してユーザーは、辞書のオープン、辞書の作成、テーブル情報の取得、テーブルの追加または削除を行うことができます。
メモ:  ASP を使って、または Visual Basic の CreateObject メソッドを使ってこのオブジェクトのインスタンスを作成する場合、DtoDictionary のプログラム ID は、DTO2 の場合は "DTO.DtoDictionary.2"、DTO バージョン 1 の場合は "DTO.DtoDictionary.1" になります。これら 2 つのバージョンの違いについては、DTO2 を参照してください。
Dim result as DtoResult
Dim dictionary as New DtoDictionary
result = dictionary.Open("d:\MyDemodata")
関連項目
メソッドの詳細
Open
データベース名または辞書のパスを使ってデータ辞書ファイル セットを開きます。
構文
result = Object.Open(path[, user][, password])
引数
Object
DtoDictionary オブジェクト。
path
ローカルの場合、辞書ファイルまたは名前付きデータベースの名前があるディレクトリへの絶対パスです。
リモート サーバーに接続している場合、この引数に対し名前付きデータベースを使用することはできません。
user
DDF セットの任意のユーザー名。
password
DDF セットの任意のパスワード。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
メモ:  引数 path には、DDF ファイルがあるディレクトリへのパス、あるいは ローカルの DBNAMES.CFG に含まれるデータベース名を使用することができます。データベース名の作成および管理については、DtoDatabases コレクションを参照してください。
この操作は、辞書ファイルのセットを開く手段として使用されます。このセットには、FILE.DDF、INDEX.DDF および FIELD.DDF が含まれます。また、多くのオプション DDF ファイルも含まれています。メモリを解放するために Close メソッドを呼び出すことを忘れないでください。辞書セットを一度開くと、Close メソッドが呼び出されるまでほかの誰もその辞書セットに変更を行うことができません。
このメソッドで返されるエラーの詳細については、DtoSession オブジェクトError プロパティを使って取得することができます。
Dim dictionary as new DtoDictionary
Dim result as DtoResult
 
result = dictionary.Open("d:\MyDemodata")
Create
空のデータ辞書ファイルのセットを作成します。
構文
result = Object.Create(path[, user][, password])
引数
Object
DtoDictionary オブジェクト。
path
辞書ファイルを作成するディレクトリへの絶対パス。
user
DDF セットの任意のユーザー名。
password
DDF セットの任意のパスワード。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
path 引数に指定したディレクトリが存在しなかった場合、そのディレクトリの作成を試行します。操作が成功した場合、file.ddf、field.ddf、index.ddf のセットが作成されます。
メモリを解放するために Close メソッドを呼び出すことを忘れないでください。辞書セットが一度作成されると、その他のクライアントは Close メソッドが呼び出されるまでその辞書セットを開くことも変更を行うこともできません。
このメソッドで返されるエラーの詳細については、Error プロパティを使って取得することができます。Open メソッドとは異なり、path パラメーターに指定できるのは絶対パスのみです。
Dim Dictionary As New DtoDictionary
Dim result as DtoResult
 
result = Dictionary.Create("C:\TEST", "login", "password")
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
Close
データ辞書ファイルのセットを閉じます。Open メソッドを使って開いている、または Create メソッドを使って作成されていることが前提です。
構文
result = Object.Close
引数
Object
DtoDictionary オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
辞書ファイルのセットを Open メソッドを使って開いている、または Create メソッドを使って作成した後にこのメソッドを呼び出します。エラー情報は Error プロパティを使って取得することができます。
Dim dictionary as new DtoDictionary
Dim result as DtoResult
 
result = dictionary.Open("d:\MyDemodata")
'
' ここで操作を実行
'
result = dictionary.Close
AddTable
データ辞書ファイルにテーブル情報を追加し、定義を一致させるためにデータ ファイルを作成します。
メモ:  同じディレクトリに、ファイル名が同一で拡張子のみが異なるようなファイルを置かないでください。たとえば、同じディレクトリ内に Invoice.btr と Invoice.mkd という名前のデータ ファイルを作成しないでください。このような制限が設けられているのは、データベース エンジンがさまざまな機能でファイル名のみを使用し、ファイルの拡張子を無視するためです。ファイルの識別にはファイル名のみが使用されるため、ファイルの拡張子だけが異なるファイルは、データベース エンジンでは同一のものであると認識されます。
構文
result = Object.AddTable(table)
引数
Object
DtoDictionary オブジェクト。
table
DtoTable オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドは、DDF ファイルにテーブル定義を追加し、テーブルの Location プロパティで指定したデータ ファイルの作成を試みます。Location プロパティが空のままの場合、このメソッドでは tableName.mkd という名前のデータ ファイルの作成を試みます。この名前のテーブルが既に存在していた場合は、その名前に 1 つの番号を追加して再度作成を試みます。
この操作が正常終了するためには、少なくとも 1 列が定義されていなければなりません。
以下の例では、辞書オブジェクトを作成し、次にその辞書ファイルにテーブルを追加する方法を示します。
Dim Dictionary As New DtoDictionary
Dim Table As DtoTable
Dim Tables As DtoTables
Dim result As dtoResult
Dim Columns As DtoColumns
Dim Indexes As DtoIndexes
Dim Column As DtoColumn
Dim Index As DtoIndex
Dim Segments As DtoSegments
Dim Segment As DtoSegment
 
result = Dictionary.Create("C:\TEST", "login", "password")
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
 
' ******* テーブルの追加の開始 *******************
 
Set Table = New DtoTable
 
Set Column = New DtoColumn
With Column
.Decimal = 0
.Flags = dtoColumnNullable
.ISR = ""
.Name = "F_Int"
.Number = 0
.Size = 4
.Type = dtoTypeInteger
End With
Table.Columns.Add Column
 
Set Column = New DtoColumn
With Column
.Decimal = 4
.Flags = dtoColumnNullable + dtoColumnCaseInsensitive
.ISR = ""
.Name = "F_Str"
.Number = 1
.Size = 55
.Type = dtoTypeLString
End With
Table.Columns.Add Column
 
Set Column = New DtoColumn
With Column
.Decimal = 4
.Flags = dtoColumnCaseInsensitive
.ISR = ""
.Name = "F_Str_Second"
.Number = 2
.Size = 100
.Type = dtoTypeLString
End With
Table.Columns.Add Column
 
Set Column = New DtoColumn
With Column
.Decimal = 10
.Flags = dtoColumnDefault
.ISR = ""
.Name = "F_Float"
.Number = 3
.Size = 8
.Type = dtoTypeBFloat
End With
Table.Columns.Add Column
 
'インデックスを追加
Set Index = New DtoIndex
result = Index.AddSegment("F_Int", 0)
Set Segment = New DtoSegment
Segment.Number = 0
Segment.ColumnName = "F_Int"
Segment.Flags = dtoSegmentAscending
Index.Segments.Add Segment
 
Index.Name = "FintInd"
Index.Number = 0
Index.Flags = dtoIndexModifiable
Table.Indexes.Add Index
'2 番目のインデックスを追加
Set Index = New DtoIndex
Set Segment = New DtoSegment
Segment.Number = 0
Segment.ColumnName = "F_Str"
Segment.Flags = dtoSegmentAscending
Index.Segments.Add Segment
Set Segment = New DtoSegment
Segment.Number = 1
Segment.ColumnName = "F_Str_Second"
Segment.Flags = dtoSegmentAscending
Index.Segments.Add Segment
Index.Name = "FStrTagInd"
Index.Number = 1
Index.Flags = dtoIndexModifiable
Table.Indexes.Add Index
Table.Overwrite = true
Table.Flags = dtoTableTrueNullable
Table.Name = "Table3"
 
result = Dictionary.AddTable(Table)
 
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
DropTable
現在の辞書からテーブルを削除します。
構文
result = Object.DropTable(tableName[, deleteFile])
引数
Object
DtoDictionary オブジェクト。
tableName
削除するテーブルの名前。
deleteFile
基となるデータ ファイルを削除するかどうかを示すブール値。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
この操作を成功させるには、辞書が正常に開かれている必要があります。
result = Dictionary.DropTable("Table3", true)
If NOT result = Dto_Success Then
MsgBox "Error"+ Session.Error(result)
End If
Reload
辞書オブジェクトをリフレッシュします。
構文
result = Object.Reload
引数
Object
DtoDictionary オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
Delete
辞書オブジェクトおよび対応する DDF ファイルを削除します。
構文
result = Object.Delete
引数
Object
DtoDictionary オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
DtoTables コレクション
DtoTable オブジェクトのコレクションを返します。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
コレクションの特定のメンバーを返します。序数の値またはテーブル名を渡すことができます。
メソッド
なし
備考
このコレクションにはユーザー定義テーブルのみが含まれ、システム テーブルは含まれません。辞書は正常に開かれている必要があります。コレクションにテーブルを追加、あるいはコレクションからテーブルを削除するには、AddTable と DropTable を使用します。
Count プロパティを使用して DtoTables コレクション内のメンバー数を見つけます。
DtoDatabase の使用
Tables コレクションを取得する前に、まずデータベース オブジェクトに対して Open メソッドを実行する必要があります。これはそのデータベースにセキュリティが設定されていない場合でも必要です。
Dim m_session as new DtoSession
Dim m_database as new DtoDatabase
Dim table as new DtoTable
Dim result as DtoResult
 
result = m_session.Connect("server","user","password")
m_database.Name = "demodata"
m_database.Session = m_session
'データベースを開く。データベースのセキュリティは設定されていないことを前提とする。
result = m_database.Open("","")
 
For each table in m_database.Tables
if table.Name = "Billing" then
'billing テーブルの検索
End If
next
m_database.Close 'データベースを開いていた場合は閉じる
DtoDictionary の使用
Dim dictionary as new DtoDictionary
Dim table as new DtoTable
Dim result as DtoResult
Dim location as string
 
'Mytable テーブルの場所を検索する
result = dictionary.Open("d:\MyDemodata")
 
For Each table In dictionary.Tables
If table.Name = "Mytable" Then
location = table.Location
exit For
End If
next
関連項目
DtoTable オブジェクト
データベース内のテーブルを表すオブジェクトです。
プロパティ
Flags
このテーブルに関連付けられているフラグを取得または設定します。可能な値については、テーブル フラグを参照してください。
Location
テーブルのファイル名を設定します。このファイルのパスを調べるには、DtoDatabase オブジェクトのプロパティを使用します。
Name
テーブルの名前を設定または取得します。
Overwrite
True の場合、このテーブルを AddTable呼び出しの中での同じ名前のテーブルで上書きすることができます。
True = テーブルを上書きします
False = テーブルを上書きしないで、エラーを返します
コレクション
メソッド
なし
備考
DtoTable オブジェクトには Columns と Indexes という 2 つのコレクション オブジェクトがあります。列やインデックスに関連するすべての操作は、これらのオブジェクトを使って行います。
辞書に新しいテーブルを追加するには、AddTable を使用します。
辞書からテーブルを削除するには、DropTable を使用します。
DtoTable オブジェクトを新規作成する例については、AddTable を参照してください。
Dim dictionary as new DtoDictionary
Dim table as new DtoTable
Dim result as DtoResult
Dim location as string
 
'Mytable テーブルのファイル名を調べる
result = dictionary.Open("d:\MyDemodata")
 
For Each table In dictionary.Tables
If table.Name = "Mytable" Then
location = table.Location
End If
next
関連項目
DtoColumns コレクション
テーブル内のすべての列を表す DtoColumn オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoColumns コレクションの特定のメンバーを返します。
メソッド
備考
DtoTable オブジェクトのプロパティからこのコレクションを取得することができます。
Count プロパティを使用してコレクション内のメンバー数を調べます。
Dim dictionary as new DtoDictionary
dictionary.Open("d:\MyDemodata")
students_table = dictionary.GetTable("STUDENT")
students_cols = students_table.Columns
関連項目
メソッドの詳細
Add
DtoColumns コレクションに項目を追加します。
構文
result = Collection.Add(Object)
引数
Collection
オブジェクトを追加する DtoColumns コレクション。
Object
新しい DtoColumn オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドは DtoColumn タイプのパラメーターを使用します。このため、コレクションにオブジェクトを追加する前に、まずオブジェクトのインスタンスを作成してそのプロパティを設定する必要があります。
メモ:  既存の Zen テーブルに列を追加する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内で列を追加する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Remove
DtoColumns コレクションから項目を削除します。
構文
result = Collection.Remove(column)
引数
Collection
オブジェクトを削除する DtoColumns コレクション。
column
DtoColumns コレクションから削除する項目の(1 から始まる)インデックスまたは項目の名前を含むバリアントを指定できます。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
DtoColumns コレクション内の項目の列名または 1 から始まる序数を渡すことができます。
メモ:  既存の Zen テーブルから列を削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内で列を削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Clear
DtoColumns コレクションからすべての項目を削除します。
構文
result = Collection.Clear
引数
In
Collection
DtoTable オブジェクトから取得する DtoColumns または DtoIndexes コレクション。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドはメモリ内にあるテーブルからすべての列を削除します。
メモ:  既存の Zen テーブルから列を削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内ですべての列を削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
DtoColumn オブジェクト
このオブジェクトはテーブルの列を表します。
プロパティ
Decimal
列の小数以下の桁数を取得または設定します。
Flags
列のフラグを取得または設定します。
ISR
列の ISR を取得または設定します。
Name
列の名前を取得または設定します。
Number
列の序数を取得または設定します。
Size
列のサイズを設定または取得します。
Type
列のタイプを取得または設定します。列挙型の値です。可能な値については、Btrieve 型を参照してください。
TypeName
タイプの名前を含む文字列値を返します。
メソッド
なし
備考
このオブジェクトを使用すれば、特定のテーブル列のプロパティを表示することができます。
'辞書をインスタンス化して開く
Dim dictionary as new DtoDictionary
Dim result as DtoResult
result = dictionary.Open("d:\MyDemodata")
 
'MyDemodata データベースから STUDENT テーブルを取得する
Dim students_table as DtoTable
Set students_table = dictionary.Tables("STUDENTS")
 
'STUDENT テーブルから Columns コレクションを取得する
Dim students_cols as DtoColumns
Set students_cols = students_table.Columns
 
'最初の列を取得し、その名前を取得する
Dim first_col as DtoColumn
Set first_col = students_cols(1)
name = first_col.Name
関連項目
DtoIndexes コレクション
テーブルのインデックスを表す DtoIndex オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoIndexes コレクションの特定のメンバーを返します。インデックスの 1 から始まる序数または名前を渡すことができます。
メソッド
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'辞書をインスタンス化して開く
Dim dictionary as new DtoDictionary
Dim result as DtoResult
result = dictionary.Open("d:\mydemodata")
 
'MYDEMODATA データベースから STUDENT テーブルを取得する
Dim students_table as DtoTable
Set students_table = dictionary.Tables("STUDENT")
 
'DEMODATA の Indexes コレクションを取得する
Dim students_idx as DtoIndexes
Set students_idx = students_table.Indexes
関連項目
メソッドの詳細
Add
コレクションに項目を追加します。
構文
result = Collection.Add(Object)
引数
Collection
オブジェクトを追加するコレクション。
Object
DtoIndexes コレクションに追加する新しい DtoIndex オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドは DtoIndex タイプのパラメーターを使用します。このため、コレクションにオブジェクトを追加する前に、まずオブジェクトのインスタンスを作成してそのプロパティを設定する必要があります。
メモ:  既存の Zen テーブルにインデックスを追加する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内でインデックスを追加する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Remove
コレクションから項目を削除します。
構文
result = Collection.Remove(index)
引数
Collection
オブジェクトを削除するコレクション。
index
DtoIndexes コレクションから削除する項目の(1 から始まる)インデックスまたは項目の名前を含むバリアントを指定できます。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
Remove メソッドには、項目の名前または 1 から始まる序数を渡すことができます。
メモ:  既存の Zen テーブルからインデックスを削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内でインデックスを削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Clear
DtoColumns または DtoIndexes コレクションからすべての項目を削除します。
構文
result = Collection.Clear
引数
Collection
DtoTable オブジェクトから取得する DtoIndexes コレクション。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドはメモリ内にあるテーブルからすべてのインデックスを削除します。
メモ:  既存の Zen テーブルからインデックスを削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内ですべてのインデックスを削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
DtoIndex オブジェクト
このオブジェクトはテーブルのインデックスを表します。
プロパティ
Flags
インデックス セグメントの列名を取得または設定します。これは列挙型の値です。可能な値については、インデックス フラグを参照してください。
Name
インデックスの名前を設定または取得します。
Number
インデックスの 0 から始まる番号を取得または設定します。
Tag
インデックス タグを取得します。インデックスを構成するすべての列の名前が含まれます。
コレクション
メソッド
なし
備考
1 つのインデックスに対し、119 個のセグメントが許可されます。1 つのインデックスのセグメントに含まれるすべての列を結合したサイズは、13.0 以前の形式のファイルの場合は 255 バイト、16.0 形式のファイルの場合は 1024 バイトより大きくすることはできないことに注意してください。
インデックス セグメントの中で最後の列のみが部分インデックス フラグを持つことができます。インデックスの最後のセグメントでないのに部分インデックス フラグを使用しているインデックス セグメントでは、部分フラグが無視されます。
'辞書をインスタンス化して開く
Dim dictionary as new DtoDictionary
Dim result as DtoResult
result = dictionary.Open("d:\mydemodata")
 
'MYDEMODATA データベースから STUDENT テーブルを取得する
Dim students_table as DtoTable
Set students_table = dictionary.Tables("STUDENT")
 
'DEMODATA の Indexes コレクションを取得する
Dim students_idx as DtoIndexes
Set students_idx = students_table.Indexes
 
'最初のインデックスを取得し、その名前を調べる
Dim first_idx as DtoIndex
Set first_idx = students_idx(1)
Dim index_name as String
index_name = first_idx.Name
関連項目
DtoSegments コレクション
インデックスのセグメントを表す DtoSegment オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
コレクションの特定のメンバーを返します。
メソッド
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'辞書を開く
Dim dictionary as new DtoDictionary
Dim result as DtoResult
result = dictionary.Open("d:\mydemodata")
 
'Students テーブルを取得する
Dim students_table as DtoTable
Set students_table = dictionary.GetTable("Student")
 
'Students テーブルから Indexes コレクションを取得する
Dim students_idx as DtoIndexes
Set students_idx = students_table.Indexes
 
'すべてのインデックスを削除する
Dim first_idx as DtoIndex
Set first_idx = students_idx(1)
 
'最初のインデックスから DtoSegments コレクションを取得する
Dim my_segments as DtoSegments
Set my_segments as first_idx.Segments
関連項目
メソッドの詳細
Add
コレクションに項目を追加します。
構文
result = Collection.Add(Object)
引数
Collection
オブジェクトを追加する DtoSegments コレクション。
Object
新しい DtoSegment オブジェクト。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドは DtoSegment タイプのパラメーターを使用します。このため、コレクションにオブジェクトを追加する前に、まずオブジェクトのインスタンスを作成してそのプロパティを設定する必要があります。
メモ:  既存の Zen テーブルにセグメントを追加する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内でセグメントを追加する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Remove
コレクションから項目を削除します。
構文
result = Collection.Remove(segment)
引数
Collection
オブジェクトを削除する DtoSegments コレクション。
segment
コレクションから削除する項目の(1 から始まる)インデックスまたは項目の名前を含むバリアントを指定できます。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
セグメントの 1 から始まる序数または名前を渡すことができます。
メモ:  既存の Zen テーブルからセグメントを削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内でセグメントを削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
Clear
DtoSegments コレクションからすべての項目を削除します。
構文
result = Collection.Clear
引数
Collection
DtoIndex オブジェクトから取得する DtoSegments コレクション。
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
このメソッドはメモリ内にあるインデックスからすべてのセグメントを削除します。
メモ:  既存の Zen テーブルからセグメントを削除する場合に、このメソッドを使用することはできません。このメソッドでは、データ ファイルおよび DDF ファイルを変更しません。テーブルを作成する前に、メモリ内でセグメントを削除する場合にのみ使用できます。参考として、AddTable のコード例をご覧ください。
DtoSegment オブジェクト
このオブジェクトはインデックス内のセグメントを表します。
プロパティ
ColumnName
このセグメントに関連付けられている列名を取得または設定します。
Flags
セグメント フラグを取得または設定します。列挙型の値です。値については、セグメント フラグを参照してください。
Number
0 から始まるセグメント番号を取得または設定します。
メソッド
なし
備考
1 つまたは複数のセグメントでインデックスが構成されます。1 つのインデックスに対し、119 個のセグメントが許可されます。1 つのインデックスのセグメントに含まれるすべての列を結合したサイズは、13.0 以前の形式のファイルの場合は 255 バイト、16.0 形式のファイルの場合は 1024 バイトより大きくすることはできないことに注意してください。
'辞書を開く
Dim dictionary as new DtoDictionary
Dim result as DtoResult
result = dictionary.Open("d:\mydemodata")
 
'Students テーブルを取得する
Dim students_table as DtoTable
Set students_table = dictionary.GetTable("Student")
 
'Students テーブルから Indexes コレクションを取得する
Dim students_idx as DtoIndexes
Set students_idx = students_table.Indexes
 
'すべてのインデックスを削除する
Dim first_idx as DtoIndex
Set first_idx = students_idx(1)
 
'最初のインデックスから DtoSegments コレクションを取得する
Dim my_segments as DtoSegments
Set my_segments as first_idx.Segments
 
'最初のセグメントを取得し、列名を照会する
Dim first_seg as DtoSegment
Set first_seg = my_segments(1)
Dim colname as String
colname = first_seg.ColumnName
関連項目
 
最終更新日: 2024年07月10日