OO4O for Visual Basic 6 (+SP5)
オラクル9i に接続し、該当するDBをオープンする。
‘/***********************************************************/
‘/* [ 名 称 ] subOpenDB : オラクルDBオープン
‘/* [ 戻 値 ] なし
‘/* [ 概 要 ] オラクルDBをオラクルモードでオープンする。
‘/* 但し、指定INIファイルがあれば、そこからオラクル接続用の
‘/* 情報を取得し、それを使ってオラクルDBをオープンする。
‘/* [ 履 歴 ] 2003/11/01 新規 v01.00 会社名 担当者名
‘/***********************************************************/
Public Sub subOpenDB()
On Error GoTo Err_subOpenDB
‘変数宣言———————————————————————
Const strINIFILE_PATH As String = "C:¥ORA.INI" ‘オラクル接続情報INIファイル
Const intMAX_LOOP As Integer = 3 ‘ループ最大回数
Dim strUser As String ‘ユーザー名変数
Dim strPassword As String ‘パスワード変数
Dim strSetzokuMojiretu As String ‘接続文字列変数
Dim strMsg As String ‘メッセージ変数
‘—————————————————————————–
‘変数を初期化する
strUser = vbNullString
strPassword = vbNullString
strSetzokuMojiretu = vbNullString
‘INIファイルが存在しない場合
If Dir$(strINIFILE_PATH) = vbNullString Then
‘DBオープンのパラメータをデフォルトに設定する
strUser = "SCOTT"
strPassword = "TIGER"
strSetzokuMojiretu = vbNullString
Else
‘INIファイルより「USER」パラメータを詠み込めなかった場合
If blnGetInFileData("ORACLE", "USER", strUser) = False Then
‘引数(strMsg)だけでエラーメッセージを編集する
strMsg = strINIFILE_PATH & "ファイルにUSER値が設定されてません。" & _
vbCrLf & "このファイルに値をセットして下さい。" & vbCrLf & _
"強制終了します。"
‘エラーメッセージを出力する
Call MsgBox(strMsg, vbOKOnly + vbCritical + vbApplicationModal, _
App.Title & "(エラー発生)")
‘当アプリケーションを終了する
Call subEndApp
End If
‘INIファイルより「Password」パラメータを詠み込めなかった場合
If blnGetInFileData("ORACLE", "PASSWORD", strPassword) = False Then
‘引数(strMsg)だけでエラーメッセージを編集する
strMsg = strINIFILE_PATH & "ファイルにPassword値が設定されてません。" & _
vbCrLf & "このファイルに値をセットして下さい。" & vbCrLf & _
"強制終了します。"
‘エラーメッセージを出力する
Call MsgBox(strMsg, vbOKOnly + vbCritical + vbApplicationModal, _
App.Title & "(エラー発生)")
‘当アプリケーションを終了する
Call subEndApp
End If
‘INIファイルより「SetzokuMojiretu」パラメータを詠み込めなかった場合
If blnGetInFileData("ORACLE", "SetzokuMojiretu", strSetzokuMojiretu) = False Then
‘引数(strMsg)だけでエラーメッセージを編集する
strMsg = strINIFILE_PATH & "ファイルにSetzokuMojiretuが設定されてません。" & _
vbCrLf & "このファイルに値をセットして下さい。" & vbCrLf & _
"強制終了します。"
‘エラーメッセージを出力する
Call MsgBox(strMsg, vbOKOnly + vbCritical + vbApplicationModal, _
App.Title & "(エラー発生)")
‘当アプリケーションを終了する
Call subEndApp
End If
End If
‘Oracle Objects Serverとの接続する
Set poraSess = CreateObject("OracleInProcServer.XOraSession")
Set poraSessW = CreateObject("OracleInProcServer.XOraSession")
On Error Resume Next
‘接続に失敗した時は3回トライする
For pintLoop1 = 1 To intMAX_LOOP
‘Oracle RDBMSとの接続(Oracleモード「1&」で接続)する
Set poraDb = poraSess.DbOpenDatabase(strSetzokuMojiretu, _
strUser & "/" & strPassword, _
ORADB_ORAMODE + ORADB_NOWAIT)
‘接続エラーが無い場合
If poraSess.LastServerErr = 0 Then
‘ランタイムエラーが無い場合
If Err.Number = 0 Then
‘接続処理を抜ける
GoTo Next_subOpenDB:
End If
End If
Next pintLoop1
‘3回ルールしたがDB接続できなかった。エラー処理ロジックへ移動する。
GoTo Err_subOpenDB:
Next_subOpenDB:
‘接続に失敗した時は3回トライする
For pintLoop1 = 1 To intMAX_LOOP
‘Oracle RDBMSとの接続(Oracleモード「1&」で接続)する
Set poraDbW = poraSessW.DbOpenDatabase(strSetzokuMojiretu, _
strUser & "/" & strPassword, _
ORADB_ORAMODE + ORADB_NOWAIT)
‘接続エラーが無い場合
If poraSessW.LastServerErr = 0 Then
‘ランタイムエラーが無い場合
If Err.Number = 0 Then
‘接続処理を抜ける
GoTo Exit_subOpenDB:
End If
End If
Next pintLoop1
‘3回ルールしたがDB接続できなかった。エラー処理ロジックへ移動する。
GoTo Err_subOpenDB:
Exit_subOpenDB:
‘当プロシージャを終了する
Exit Sub
Err_subOpenDB:
‘ランタイムエラーが発生したのでエラー処理をする
Call subErrSyori("subOpenDB", Err.Number, Err.Description)
End Sub
初期登録日: 2003年11月09日
最終更新日: 2008年01月26日
< Home ヘ戻る >
ブラウザ画面の文字サイズを変更するショートカットキー
Shortcut Keys
|