专栏首页VB小源码VB.NET 连接oracle数据库

VB.NET 连接oracle数据库

大家都知道,开发中连接oracle数据库比较麻烦,要什么客户端之类啊!而且要引用一堆类库,今天我们用Oracle.ManagedDataAccess.Client 连接只需引用一个dll即可!

一,首先我们要引用ManagedDataAccess

Imports Oracle.ManagedDataAccess.Client

二,连接部分代码

Public Class Cls_oracle
    Private Shared O_Inst As Cls_oracle = Nothing  ''接口
    Private Shared Cn_Str As String = Nothing  ''连接字符
    Private Shared host As String  ''服务器地址
    Private Shared ser_name As String  ''服务器名称
    Private Shared user_name As String  ''用户名
    Private Shared pwd As String  ''用户密码

    ''' <summary>
    ''' 初始化变量
    ''' </summary>
    Private Sub New()
        host = "10.28.0.0"
        ser_name = "vbxym"
        user_name = "vbxym"
        pwd = "vbb"
    End Sub

    ''' <summary>
    ''' 初始化Oracle类
    ''' </summary>
    ''' <returns></returns>
    Public Shared Function GetInstance() As Cls_oracle
        Try
            If O_Inst Is Nothing Then
                O_Inst = New Cls_oracle
            End If
            Cn_Str = $"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={host})(PORT=1521))(CONNECT_DATA=(SERVICE_NAME={ser_name})));Persist Security Info=True;User ID={user_name};Password={pwd};"
            Return O_Inst
        Catch ex As Exception
            Return Nothing
        End Try
    End Function

三,执行sql命令部分代码

''' <summary>
    ''' 执行SQL语句
    ''' </summary>
    ''' <param name="sql">SQL语句</param>
    ''' <param name="parameters">参数可以为空</param>
    ''' <returns></returns>
    Public Function ExecuteNonQuery(ByVal sql As String, ParamArray parameters As OracleParameter()) As Integer
        Try
            Using conn As New OracleConnection(Cn_Str)
                conn.Open()
                Using cmd As OracleCommand = conn.CreateCommand()
                    cmd.CommandText = sql
                    cmd.Parameters.AddRange(parameters)
                    Return cmd.ExecuteNonQuery()
                End Using
            End Using
        Catch ex As Exception
            Return 0
        End Try
    End Function

四,执行查询部分代码返回一个datatable

''' <summary>
    ''' 执行查询语句返回DataTable
    ''' </summary>
    ''' <param name="sql">SQL语句</param>
    ''' <param name="parameters">参数可以为空</param>
    ''' <returns></returns>
    Public Function ExecuteDataTable(ByVal sql As String, ParamArray parameters As OracleParameter()) As DataTable
        Try
            Using conn As New OracleConnection(Cn_Str)
                conn.Open()
                Using cmd As OracleCommand = conn.CreateCommand()
                    cmd.CommandText = sql
                    cmd.Parameters.AddRange(parameters)
                    Using adapter As New OracleDataAdapter(cmd)
                        Dim datatable As New DataTable()
                        adapter.Fill(datatable)
                        Return datatable
                    End Using
                End Using
            End Using
        Catch ex As Exception
            Return Nothing
        End Try
    End Function

End Class

本文分享自微信公众号 - VB小源码(vb_xym),作者:VB小源码

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VB.NET 图片和BASE64互转

    Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2...

    巴西_prince
  • VB.NET 仿spy++拖拽图标获取窗体句柄

    巴西_prince
  • vb.net 连接MYSQL数据库,需要MySql.Data.dll连接控件!

    '---------------------------------------------------------------------------...

    巴西_prince
  • 新坑:ArkManager,一个重构的方舟服务器管理器。免费 | 开源 | 多节点

    Github:https://github.com/yistars/ArkManager

    iVampireSP.com
  • 通杀Windows的Badlock是啥?该如何修复?

    ? Badlock Bug 2016年4月12日,Windows 和 Samba 中揭露出了一个非常关键的安全漏洞请更新你的系统。我们非常确定黑客很快就会利用...

    FB客服
  • 探索Redis设计与实现3:Redis内部数据结构详解——sds

    本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看

    Java技术江湖
  • 经验拾忆(纯手工)=> Python三

    GIL这个话题至今也是个争议较多的,对于不用应用场景对线程的需求也就不同,说下我听过的优点: 1. 我没有用过其他语言的多线程,所以无法比较什么,但是对于I/O...

    py3study
  • Qt开源作品16-通用无边框拖动拉伸

    相信各位CS结构开发的程序员,多多少少都遇到过需要美化界面的事情,一般都不会采用系统的标题栏,这样就需要无边框标题栏窗体,默认的话无边框的标题栏都不支持拉伸和拖...

    feiyangqingyun
  • HDUOJ-----(1329)Calling Extraterrestrial Intelligence Again

    Calling Extraterrestrial Intelligence Again Time Limit: 2000/1000 MS (Java/Other...

    Gxjun
  • 全世界都在用!网站数据分析的七个好工具

    拥有并运营一个很棒的网站不是一件简单的事情。除了需要决定网站的类型之外,你还需要运营网站,关注网站的各项数据并且决定使用何种手段增加流量。 你应该感到庆幸的是,...

    iCDO互联网数据官

扫码关注云+社区

领取腾讯云代金券