目录
一、前言
在博客《VB.NET通过OleDbConnection连接oracle查询数据示例》实现了VB.Net通过OleDbConnection连接oracle查询数据,但是这种情况需要安装oracle客户端,本文实现不安装oracle客户端的情况下连接oracle数据库。
二、实现步骤
1.下载并引用ManagedDataAccess
方式一:下载Oracle Data Access Components (ODAC) and NuGet,解压找到Oracle.ManagedDataAccess.dll文件
文件目录:ODP.NET_Managed_ODAC122cR1\odp.net\managed\common
https://www.oracle.com/database/technologies/odac-nuget-downloads.html
方式二:安装Oracle Developer Tools for VS2017,之后直接可以引用Oracle.ManagedDataAccess.Client
2.页面设计
3.源码
注意:
(1)HOST=192.168.31.55使用本机IP
(2)需要开放oracle外网访问(可以将项目打包,安装在没有oracle的机器上测试)
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim conStr = "User Id=scott;Password=root;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=192.168.31.55)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))"
Dim con As New OracleConnection(conStr)
con.Open()
Dim sql = "SELECT * FROM EMP --where empno = '7369'"
Dim ds As New DataSet()
Dim oda As New OracleDataAdapter(sql, con)
oda.Fill(ds, "tableName")
Dim a = "返回结果:"
For Each dr As DataRow In ds.Tables(0).Rows
a += CStr(dr(0))
a += ","
Next
TextBox1.Text = a
con.Close()
End Sub
三、测试
1.在vs2019中直接启动
2.打包程序,安装到未安装oracle客户端的机器测试
打包步骤可以参考博客:《VS2019打包VB.NET可安装项目》
能查询数据说明测试通过
安装目录中可以看到Oracle.ManagedDataAccess.dll文件