Distributed Tuning Objects Guide (v11)

DtoDatabase オブジェクト

プロパティ

DataPath
データベースのデータの場所を取得または設定します。
DbCodePage
データベースのコード ページを取得または設定します。このプロパティは列挙型です。値のリストについては、データベース コード ページを参照してください。ゼロの値はサーバーのエンコード(データベース エンジンを起動しているサーバーのコード ページ)を指定します。
DbFlags
データベースのデータベース フラグを取得または設定します。このプロパティは列挙型です。値のリストについては、データベース フラグを参照してください。
DdfPath
データベースの辞書のパスを取得または設定します。
Name
データベースの名前を設定または取得します。
Secured
データベースにセキュリティが設定されているかどうかを返します(0 = セキュリティ未設定、1 = セキュリティ設定済み)
Session
この DtoDatabase オブジェクトに関連付けられている Session オブジェクトを取得または設定します。

コレクション

DtoTables コレクション

メソッド

AddUserToGroup

AlterUserName

AlterUserPassword

Close

COPY

CreateGroup

CreateUser

DropGroup

DropUser

Open

RemoveUserFromGroup

Secure

UnSecure

備考

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 

関連項目

DtoDatabases コレクション

メソッドの詳細

AddUserToGroup

既存ユーザーをデータベースの既存グループに追加します。

構文

result = Object.AddUserToGroup(username, groupname) 

引数

Object
Dtodatabase オブジェクト。
username
グループに追加するユーザー名。
groupname
ユーザーを追加するグループ名。

戻り値

result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。

備考

この関数は、指定したグループまたはユーザーがデータベースにあらかじめ存在していない場合や、ユーザーが別のグループのメンバーである場合は失敗します。

以下の前提条件を満たす必要があります。

次の事後条件を満たす必要があります。

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 型の値)。

備考

次の事後条件を満たす必要があります。

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 型の値)。

備考

次の事後条件を満たす必要があります。

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 型の値)。

備考

次の事後条件を満たす必要があります。

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 型の値)。

備考

以下の前提条件を満たす必要があります。

次の事後条件を満たす必要があります。

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 型の値)。

備考

次の事後条件を満たす必要があります。

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 型の値)。

備考

次の事後条件を満たす必要があります。

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(groupnamem, 
username) 

引数

Object
Dtodatabase オブジェクト。
groupname
データベース グループ名
username
データベース ユーザー名

戻り値

result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。

備考

次の事後条件を満たす必要があります。

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") 

DtoDatabases コレクション

DtoDSNs コレクション