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")
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•ユーザーおよびグループは指定したデータベースに既に存在している。
•ユーザーは別のグループのメンバーではない。
次の事後条件を満たす必要があります。
例
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•ユーザー名は指定したデータベースに既に存在している。
•新しいユーザー名が指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
例
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•ユーザー名は指定したデータベースに既に存在している。
次の事後条件を満たす必要があります。
例
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
引数
戻り値
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•同じ名前のグループが指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
例
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•同じ名前のユーザーが指定したデータベースに存在していない。
次の事後条件を満たす必要があります。
例
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•同じ名前のグループが指定したデータベースに存在していない。
•グループにはメンバーが含まれていない。
次の事後条件を満たす必要があります。
例
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" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•同じ名前のユーザーが指定したデータベースに存在している。
次の事後条件を満たす必要があります。
例
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 型の値)。 |
備考
•まずセッションを作成し、次に
Open メソッドを使って、"Master" ユーザーとしてデータベースを正常に開いておく。
•関連するデータベースはデータベース レベルのセキュリティが有効である。
•ユーザーおよびグループは指定したデータベースに既に存在している。
•ユーザーは別のグループのメンバーではない。
次の事後条件を満たす必要があります。
例
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")