VB.NET通过ManagedDataAccess(不需要oracle客户端)连接oracle查询数据示例

目录

一、前言

二、实现步骤

1.下载并引用ManagedDataAccess

2.页面设计

3.源码

三、测试

1.在vs2019中直接启动

2.打包程序,安装到未安装oracle客户端的机器测试


一、前言

在博客《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文件

猜你喜欢

转载自blog.csdn.net/cs373616511/article/details/114766514