oracle19c oo4o,VB.NET2003 用OO4O方式连接Oracle(原创)

#Region "   ' OO4O Connect"

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim strSQL1 As String

Dim strSQL2 As String

Dim n As Integer

Dim j As Integer

Dim countC As Integer

Dim countR As Integer

Dim obj As Object

Dim iora As OracleInProcServer.OraField

Dim aoDataSet As DataSet

aoDataSet = New DataSet

Dim aoTable As DataTable

aoDataSet.Tables.Add("aoTable")

Dim ODyn As OraDynaset

strSQL1 = "UPDATE T_MSG SET DELFLG = 0 WHERE MSGDISP = 1"

strSQL2 = "SELECT * FROM superwei "

Try

Dim blnConnect As Boolean = OO4O_Connection()

If blnConnect = False Then

Exit Sub

End If

aoDataBase.BeginTrans()                 ' Begin Transaction

'n = aoDataBase.ExecuteSQL(strSQL1)      ' normal SQL run

ODyn = aoDataBase.CreateDynaset(strSQL2, ORADYN_READONLY)   ' return OraDynaset

If ODyn.BOF Or ODyn.EOF Then

MsgBox("Empty")

Exit Sub

Else

ODyn.MoveFirst()

End If

aoDataSet = collectionChange(ODyn)

'DataGrid1.DataSource = aoDataSet.Tables(0)

Call disData(DataGrid1, aoDataSet)

aoDataBase.Rollback()

Catch ex As Exception

MsgBox(Me.Text & ":" & ex.Message)

TextBox1.Text = Me.Text & ":" & ex.Message

aoDataBase.Rollback()

End Try

End Sub

Function disData(ByVal Dgd As DataGrid, ByVal aoDataSet As DataSet)

Dgd = Me.DataGrid1

Dgd.DataSource = aoDataSet.Tables(0)

End Function

#End Region

Module OO4O_Connect

Public aoDataBase As OracleInProcServer.OraDatabase

Public Overloads Function OO4O_Connection() As Boolean

Dim oOraSession As OracleInProcServer.OraSession

Try

Dim oOraDataBase As Object

Dim sConnectString As String

Dim asHostName As String = "ips"

sConnectString = "ips/ips"

oOraSession = CreateObject("OracleInProcServer.XOraSession")

aoDataBase = oOraSession.OpenDatabase(asHostName, sConnectString, 0)

OO4O_Connection = True

Catch ex As Exception

MsgBox(ex.Message & " " & ex.ToString)

OO4O_Connection = False

End Try

End Function

Public Overloads Function OO4O_Connection(ByVal _aoDataBase As OracleInProcServer.OraDatabase) As OracleInProcServer.OraDatabase

Dim oOraSession As OracleInProcServer.OraSession

Try

Dim oOraDataBase As Object

Dim sConnectString As String

Dim asHostName As String = "ips"

sConnectString = "cho_objown/cho_objown"

oOraSession = CreateObject("OracleInProcServer.XOraSession")

_aoDataBase = oOraSession.OpenDatabase(asHostName, sConnectString, 0)

Return _aoDataBase

Catch ex As Exception

MsgBox(ex.Message & " " & ex.ToString)

'OO4O_Connection = False

End Try

End Function

End Module

posted on 2007-09-27 16:15 小辞猬 阅读(965) 评论(0)  编辑  收藏 所属分类: DoNet

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
需要安装Oracle Data Provider for .NET (ODP.NET)和Oracle Client。 1. 下载和安装Oracle Data Provider for .NET (ODP.NET) 下载并安装ODP.NET,可以从Oracle官方网站上下载。 2. 下载和安装Oracle Client 下载并安装Oracle Client,可以从Oracle官方网站上下载。 3. 设置环境变量 在系统环境变量中添加以下变量: (1) TNS_ADMIN:Oracle客户端的tnsnames.ora文件所在路径 例如:C:\oracle\product\19.0.0\client_1\network\admin (2) PATH:Oracle客户端的安装目录下的bin目录 例如:C:\oracle\product\19.0.0\client_1\bin 4. 创建连接对象 在VB中使用ODP.NET连接Oracle数据库: Dim conn As OracleConnection Dim cmd As OracleCommand Dim dr As OracleDataReader Dim connStr As String = "Data Source=ORCL;User ID=hr;Password=hr;" conn = New OracleConnection(connStr) conn.Open() 其中,Data Source指定ORACLE数据库的主机名和实例名,User ID和Password指定连接用户名和密码。 5. 执行SQL语句 使用OracleCommand对象执行SQL语句: cmd = New OracleCommand("SELECT * FROM employees", conn) dr = cmd.ExecuteReader() 其中,"SELECT * FROM employees"为要执行的SQL语句。 6. 关闭连接 使用完毕后,需要关闭连接: dr.Close() cmd.Dispose() conn.Close() 完整的代码示例: Dim conn As OracleConnection Dim cmd As OracleCommand Dim dr As OracleDataReader Dim connStr As String = "Data Source=ORCL;User ID=hr;Password=hr;" conn = New OracleConnection(connStr) conn.Open() cmd = New OracleCommand("SELECT * FROM employees", conn) dr = cmd.ExecuteReader() While dr.Read() Console.WriteLine(dr("employee_id") & "," & dr("first_name") & "," & dr("last_name")) End While dr.Close() cmd.Dispose() conn.Close()

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值