大家都知道,开发中连接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