vb.net连接oracle数据库

Imports Oracle.DataAccess.Client
Imports System.Runtime.CompilerServices
Imports System.Threading
Imports Microsoft.VisualBasic.CompilerServices

Public Class OracleDB
    Public Shared OraConnection As String

    Public Shared Function CallProcedure(ByVal strProcedureName As String, ByVal strParameters As IList) As Boolean
        Dim connection As OracleConnection = New OracleConnection()
        Dim adapter As OracleDataAdapter = New OracleDataAdapter()
        Dim command As OracleCommand = New OracleCommand()
        connection.ConnectionString = OraConnection
        connection.Open()
        command = New OracleCommand(strProcedureName, connection)
        command.CommandType = CommandType.StoredProcedure
        Dim num2 As Integer = strParameters.Count - 1
        Dim i As Integer
        For i = 0 To num2 Step i + 1
            command.Parameters.Add("", RuntimeHelpers.GetObjectValue(strParameters(i)))
        Next
        Try
            command.ExecuteNonQuery()
            command.Parameters.Clear()
            connection.Close()
        Catch exception1 As Exception
            Return False
        End Try
        Return True
    End Function

    Public Shared Function CallTranscation(ByVal ArrayStrSQL() As String) As Boolean
        Dim dbCN As OracleConnection = New OracleConnection()
        Dim adapter As OracleDataAdapter = New OracleDataAdapter()
        Dim command As OracleCommand = New OracleCommand()
        dbCN.ConnectionString = OraConnection
        dbCN.Open()
        Dim transaction As OracleTransaction = dbCN.BeginTransaction()
        Try
            Dim num2 As Integer = Information.UBound(ArrayStrSQL, 1)
            Dim i As Integer
            For i = 0 To num2 Step i + 1
                Dim strSQL As String = ArrayStrSQL(i)
                Thread.Sleep(100)
                ExecuteTranscationSQL(dbCN, strSQL, "")
            Next
            transaction.Commit()
        Catch exception1 As Exception
            ProjectData.SetProjectError(exception1)
            Dim exception As Exception = exception1
            If Not transaction Is Nothing Then
                transaction.Rollback()
                Return False
            End If
        End Try
        Return True
    End Function

    Public Shared Function ExecuteSQL(ByVal strSQL As String, Optional ByVal dsTableName As String = "") As DataSet
        Dim connection As OracleConnection = New OracleConnection()
        Dim adapter As OracleDataAdapter = New OracleDataAdapter()
        Dim command As OracleCommand = New OracleCommand()
        Dim dataSet As DataSet = New DataSet()
        connection.ConnectionString = OraConnection
        connection.Open()
        command.CommandText = strSQL
        command.CommandTimeout = 0
        adapter.SelectCommand = command
        adapter.SelectCommand.Connection = connection
        If dsTableName = "" Then
            adapter.Fill(dataSet)
        Else
            adapter.Fill(dataSet, dsTableName)
        End If
        connection.Close()
        Return dataSet
    End Function

    Public Shared Function ExecuteTranscationSQL(ByVal dbCN As OracleConnection, ByVal strSQL As String, Optional ByVal dsTableName As String = "") As Integer
        Dim command As OracleCommand = New OracleCommand()
        command.Connection = dbCN
        command.CommandText = strSQL
        command.CommandType = CommandType.Text
        Return command.ExecuteNonQuery()
    End Function

    Public Shared Function TestDBConnect() As Boolean
        Dim connection As OracleConnection = New OracleConnection()
        Dim adapter As OracleDataAdapter = New OracleDataAdapter()
        Dim command As OracleCommand = New OracleCommand()
        Dim dsset As DataSet = New DataSet()
        Try
            connection.ConnectionString = OraConnection
            connection.Open()
        Catch exception1 As Exception
            Return False
        End Try
        Return True
    End Function
End Class



 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值