VB.net操作oracle数据库

本文档描述了如何在VB.NET中使用Oracle.DataAccess.dll来操作Oracle 10g数据库,包括连接、关闭数据库、执行SQL语句和存储过程,以及处理事务。作者分享了在尝试使用微软自带的System.Data.OracleClient遇到的问题,以及如何解决,提醒开发者可以考虑使用Oracle自带的ODP.NET替代。
摘要由CSDN通过智能技术生成

特郁闷的一件事情,费时费力!记下来,为后来者铺路。

首先,我用VS2010开发对oracle10g数据库的操作,结果发现微软自带的System.Data.OracleClient已经有一些常用对象提示过时;网上说最好用oracle自带的ODP.net操作。

我到oracle网站下载ODAC这个安装包,还注册了用户名,200多M,而且下载特慢,下载后结果是调试了很久都不行。

其次,问用oracle的同事,告诉我安装了oracle客户端后在安装目录下有ODP.net的DLL,直接引用那个就OK了;我在我的oracle客户端安装录D:\oracle\product\10.2.0\db_1\BIN下真的还找到了 Oracle.DataAccess.dll。

最后,VS2010的vb.net工程中引用这个dll,编写对远程oracle数据库的操作测试,通过!


写这么多只是因为忒郁闷!我喜欢开源mysql、sqlite;还没有自己创业,给别人打工不自由啊,只能按照项目要求来。郁闷!!!


'引入oracle本身提供的.net数据引擎


Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Data
Imports System.Xml
Imports System.Collections
Imports Oracle.DataAccess
Imports Oracle.DataAccess.Server
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types




'引入开源日志类库
Imports log4net
Public Class OracleDbOperations
    '定义日志对象 OracleHelper.Logging
    'Private Shared Log As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)
    Private Shared Log As log4net.ILog = log4net.LogManager.GetLogger("OracleHelper.Logging")
    '数据库连接对象
    Dim Conn As OracleConnection = Nothing
    '事务处理对象
    Dim Trans As OracleTransaction = Nothing
    '数据库连接字符串
    Dim ConnectionStr As String = Nothing
    '构造函数
    Sub New(ByVal ConnStr As String)
        ConnectionStr = ConnStr
        Conn = New OracleConnection(ConnectionStr)
    End Sub
    ''' <summary>
    ''' 关闭数据库连接
    ''' </summary>
    ''' <returns>布尔值</returns>
    ''' <remarks>成功关闭返回true;否则返回false</remarks>
    Public Function ConnClose() As Boolean
        Try
            If Conn.State <> ConnectionState.Closed Then
                Conn.Close()
                Conn.Dispose()
                Conn = Nothing
                Log.Info("数据库关闭连接成功!")
                Return True
            End If
        Catch ex As Exception
            '写日志
            Log.Error("数据库关闭连接失败!")
        End Try
        Return False
    End Function
    ''' <summary>
    ''' 打开数据库连接
    ''' </summary>
    ''' <returns>布尔值</returns>
    ''' <remarks>成功关闭返回true;否则返回false</remarks>
    Public Function ConnOpen() As Boolean
        Try
            If Conn.State <> ConnectionState.Open Then
                Conn.Open()
                Log.Info("数据库打开连接成功!")
                Return True
            End If
        Catch ex As Exception
            '写日志
            Log.Error("数据库打开连接失败!")
        End Try
        Return False
    End Function
    ''' <summary>
    ''' 执行SQL语句或者存储过程(对于输入输出参数值为nothing的字段进行特殊

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值