和ORACLE之间的连接,操作,切断实例 OraSession对象,OraDataBase对象,OraDynaset对象,OraField对象实例介绍:Option Explicit 'ORACLE对象定义 Public OraSession As Object ' Oracle OraSession对象 Public OraDB As Object ' Oracle OraDataBase对象 Private fOraSess As Boolean ' Session设置标签 Private fOraDB As Boolean ' DataBase Open设置标签' <测试用的Form文件> Private Sub Form_Load() '显示"连接中…"信息窗口 Load frmLogin FrmLogin.Show DoEvents '调用ORACLE连接函数 If Ora_Open() = False Then MsgBox "连接ORACLE失败。" Else '调用系统时间获得函数 Ora_GetDate() End If '放弃"连接中…"信息窗口 Unload frmLogin End SubPrivate Sub Form_Unload(Cancel As Integer) '调用ORACLE释放函数 If Ora_Close() = False Then MsgBox "释放ORACLE连接失败。" End If End Sub' 名称 : Ora_Open ' 功能 : 打开数据库 ' 参数 : 没有 ' 返回值 : True(正常) , False(异常)Public Function Ora_Open() As Boolean On Error GoTo Ora_Open_Err Dim pstrErr As StringOra_Open = False Screen.MousePointer = vbHourglassIf fOraSess = False Then '生成Session对象 Set OseOraSess = CreateObject("OracleInProcServer.XOraSess") fOraSess = True 'ORACLE 数据库的Longin Set OdbOraDB = OseOraSess.OpenDatabase("TZCE", "SCOTT/TIGER", 标ORADB_DEFAULT) fOraDB = True End If Ora_Open_Exit: Ora_Open = True Screen.MousePointer = vbDefault Exit FunctionOra_Open_Err: Screen.MousePointer = vbDefault '出错处理 If OraSess.LastServerErr = 0 Then If OraDB.LastServerErr = 0 Then 'VB出错 pstrErr = Error(Err.Number) Else '数据库出错 pstrErr = OraDB.LastServerErrText OraDB.LastServerErrReset End If Else 'Session出错 pstrErr = OraSess.LastServerErrText OraSess.LastServerErrReset End If '错误显示 MsgBox pstrErr, vbOKOnly, "Ora_Open" On Error Resume Next End Function ' 名称 : Ora_Close ' 功能 : 关闭数据库 ' 参数 : 没有 ' 返回值 : True(正常) , False(异常) Public Function Ora_Close() As Boolean On Error GoTo Ora_Close_Err Dim pstrErr As String Ora_Close = False If fOraDB = True Then '关闭数据库 OraDB.Close '解除OraDataBase对象 Set OraDB = Nothing End If If fOraSess = True Then '解除OraSession对象 Set OraSess = Nothing End If ExitHandler: Ora_Close = True Exit FunctionOra_Close_Err: '出错处理(和Ora_Open出错处理类似,略) End Function
和ORACLE之间的连接,操作,切断实例 OraSession对象,OraDataBase对象,OraDynaset对象,OraField对象实例介绍:Option Explicit 'ORACLE对象定义 Public OraSession As Object ' Oracle OraSession对象 Public OraDB As Object ' Oracle OraDataBase对象 Private fOraSess As Boolean ' Session设置标签 Private fOraDB As Boolean ' DataBase Open设置标签' <测试用的Form文件> Private Sub Form_Load() '显示"连接中…"信息窗口 Load frmLogin FrmLogin.Show DoEvents '调用ORACLE连接函数 If Ora_Open() = False Then MsgBox "连接ORACLE失败。" Else '调用系统时间获得函数 Ora_GetDate() End If '放弃"连接中…"信息窗口 Unload frmLogin End SubPrivate Sub Form_Unload(Cancel As Integer) '调用ORACLE释放函数 If Ora_Close() = False Then MsgBox "释放ORACLE连接失败。" End If End Sub' 名称 : Ora_Open ' 功能 : 打开数据库 ' 参数 : 没有 ' 返回值 : True(正常) , False(异常)Public Function Ora_Open() As Boolean On Error GoTo Ora_Open_Err Dim pstrErr As StringOra_Open = False Screen.MousePointer = vbHourglassIf fOraSess = False Then '生成Session对象 Set OseOraSess = CreateObject("OracleInProcServer.XOraSess") fOraSess = True 'ORACLE 数据库的Longin Set OdbOraDB = OseOraSess.OpenDatabase("TZCE", "SCOTT/TIGER", 标ORADB_DEFAULT) fOraDB = True End If Ora_Open_Exit: Ora_Open = True Screen.MousePointer = vbDefault Exit FunctionOra_Open_Err: Screen.MousePointer = vbDefault '出错处理 If OraSess.LastServerErr = 0 Then If OraDB.LastServerErr = 0 Then 'VB出错 pstrErr = Error(Err.Number) Else '数据库出错 pstrErr = OraDB.LastServerErrText OraDB.LastServerErrReset End If Else 'Session出错 pstrErr = OraSess.LastServerErrText OraSess.LastServerErrReset End If '错误显示 MsgBox pstrErr, vbOKOnly, "Ora_Open" On Error Resume Next End Function ' 名称 : Ora_Close ' 功能 : 关闭数据库 ' 参数 : 没有 ' 返回值 : True(正常) , False(异常) Public Function Ora_Close() As Boolean On Error GoTo Ora_Close_Err Dim pstrErr As String Ora_Close = False If fOraDB = True Then '关闭数据库 OraDB.Close '解除OraDataBase对象 Set OraDB = Nothing End If If fOraSess = True Then '解除OraSession对象 Set OraSess = Nothing End If ExitHandler: Ora_Close = True Exit FunctionOra_Close_Err: '出错处理(和Ora_Open出错处理类似,略) End Function
'ORACLE对象定义
Public OraSession As Object ' Oracle OraSession对象
Public OraDB As Object ' Oracle OraDataBase对象
Private fOraSess As Boolean ' Session设置标签
Private fOraDB As Boolean ' DataBase Open设置标签' <测试用的Form文件>
Private Sub Form_Load()
'显示"连接中…"信息窗口
Load frmLogin
FrmLogin.Show
DoEvents
'调用ORACLE连接函数
If Ora_Open() = False Then
MsgBox "连接ORACLE失败。"
Else
'调用系统时间获得函数
Ora_GetDate()
End If
'放弃"连接中…"信息窗口
Unload frmLogin
End SubPrivate Sub Form_Unload(Cancel As Integer)
'调用ORACLE释放函数
If Ora_Close() = False Then
MsgBox "释放ORACLE连接失败。"
End If
End Sub' 名称 : Ora_Open
' 功能 : 打开数据库
' 参数 : 没有
' 返回值 : True(正常) , False(异常)Public Function Ora_Open() As Boolean
On Error GoTo Ora_Open_Err
Dim pstrErr As StringOra_Open = False
Screen.MousePointer = vbHourglassIf fOraSess = False Then
'生成Session对象
Set OseOraSess = CreateObject("OracleInProcServer.XOraSess")
fOraSess = True
'ORACLE 数据库的Longin
Set OdbOraDB = OseOraSess.OpenDatabase("TZCE", "SCOTT/TIGER", 标ORADB_DEFAULT)
fOraDB = True
End If
Ora_Open_Exit:
Ora_Open = True
Screen.MousePointer = vbDefault
Exit FunctionOra_Open_Err:
Screen.MousePointer = vbDefault
'出错处理
If OraSess.LastServerErr = 0 Then
If OraDB.LastServerErr = 0 Then
'VB出错
pstrErr = Error(Err.Number)
Else
'数据库出错
pstrErr = OraDB.LastServerErrText
OraDB.LastServerErrReset
End If
Else
'Session出错
pstrErr = OraSess.LastServerErrText
OraSess.LastServerErrReset
End If
'错误显示
MsgBox pstrErr, vbOKOnly, "Ora_Open"
On Error Resume Next
End Function
' 名称 : Ora_Close
' 功能 : 关闭数据库
' 参数 : 没有
' 返回值 : True(正常) , False(异常)
Public Function Ora_Close() As Boolean
On Error GoTo Ora_Close_Err
Dim pstrErr As String
Ora_Close = False
If fOraDB = True Then
'关闭数据库
OraDB.Close
'解除OraDataBase对象
Set OraDB = Nothing
End If
If fOraSess = True Then
'解除OraSession对象
Set OraSess = Nothing
End If
ExitHandler:
Ora_Close = True
Exit FunctionOra_Close_Err:
'出错处理(和Ora_Open出错处理类似,略)
End Function
'ORACLE对象定义
Public OraSession As Object ' Oracle OraSession对象
Public OraDB As Object ' Oracle OraDataBase对象
Private fOraSess As Boolean ' Session设置标签
Private fOraDB As Boolean ' DataBase Open设置标签' <测试用的Form文件>
Private Sub Form_Load()
'显示"连接中…"信息窗口
Load frmLogin
FrmLogin.Show
DoEvents
'调用ORACLE连接函数
If Ora_Open() = False Then
MsgBox "连接ORACLE失败。"
Else
'调用系统时间获得函数
Ora_GetDate()
End If
'放弃"连接中…"信息窗口
Unload frmLogin
End SubPrivate Sub Form_Unload(Cancel As Integer)
'调用ORACLE释放函数
If Ora_Close() = False Then
MsgBox "释放ORACLE连接失败。"
End If
End Sub' 名称 : Ora_Open
' 功能 : 打开数据库
' 参数 : 没有
' 返回值 : True(正常) , False(异常)Public Function Ora_Open() As Boolean
On Error GoTo Ora_Open_Err
Dim pstrErr As StringOra_Open = False
Screen.MousePointer = vbHourglassIf fOraSess = False Then
'生成Session对象
Set OseOraSess = CreateObject("OracleInProcServer.XOraSess")
fOraSess = True
'ORACLE 数据库的Longin
Set OdbOraDB = OseOraSess.OpenDatabase("TZCE", "SCOTT/TIGER", 标ORADB_DEFAULT)
fOraDB = True
End If
Ora_Open_Exit:
Ora_Open = True
Screen.MousePointer = vbDefault
Exit FunctionOra_Open_Err:
Screen.MousePointer = vbDefault
'出错处理
If OraSess.LastServerErr = 0 Then
If OraDB.LastServerErr = 0 Then
'VB出错
pstrErr = Error(Err.Number)
Else
'数据库出错
pstrErr = OraDB.LastServerErrText
OraDB.LastServerErrReset
End If
Else
'Session出错
pstrErr = OraSess.LastServerErrText
OraSess.LastServerErrReset
End If
'错误显示
MsgBox pstrErr, vbOKOnly, "Ora_Open"
On Error Resume Next
End Function
' 名称 : Ora_Close
' 功能 : 关闭数据库
' 参数 : 没有
' 返回值 : True(正常) , False(异常)
Public Function Ora_Close() As Boolean
On Error GoTo Ora_Close_Err
Dim pstrErr As String
Ora_Close = False
If fOraDB = True Then
'关闭数据库
OraDB.Close
'解除OraDataBase对象
Set OraDB = Nothing
End If
If fOraSess = True Then
'解除OraSession对象
Set OraSess = Nothing
End If
ExitHandler:
Ora_Close = True
Exit FunctionOra_Close_Err:
'出错处理(和Ora_Open出错处理类似,略)
End Function