-
VB.NET连接远程Oracle
VB.NET连接远程Oracle
引言
大概去年的这个时候,我写了一篇使用MATLAB连接远程Oracle的博文。这段时间由于需要,要求使用VB.NET连接远程Oracle,折腾了好几天,把过程记录下来。
可能是由于公司产品的归属问题,.net连接oracle总是需要各种组件。mysql可能没有这样的问题。闲话少说,使用.NET连接oracle有4种方法:
- 使用微软自带的System.Data.OracleClient,它是微软专门为oracle数据库开发的,很显然这种方法需要安装oracle客户端并配置tns.ora,而且仅在 .NET framework 1.1 中受支持。这种方法在oracle 12c 之后的版本就很少用到了,而且微软自己都不建议使用了。
- OleDb方式。微软和Oracle各自提供了OleDb的驱动。这种方式也需要安装客户端,其实也需要使用OracleClient
- 使用Oracle客户端下的Oracle.DataAccess.dll,也成为ODP.NET(一般安装目录为product\11.2.0\dbhome_1\ODP.NET\bin\2.x)但是这种要区分版本,本机的Oracle的Oracle.DataAccess.dll和引用的Oracle.DataAccess.dll版本要一致。
- 使用Oracle.ManagedDataAccess.dll连接oracle.这种方法不需要安装客户端。该文件是oracle为C#提供的全新的ODP.Net方式的全托管驱动。本文就使用这个驱动连接oracle.
1. 添加引用
进入下载页面后,显示的是Oracle Data Access Components (ODAC) 下载界面。
要下载最新的ODP.NET,我下载的是ODP.NET_Managed_122cR1.zip.
解压之后,在ODP.NET_Managed_ODAC122cR1\odp.net\managed\common文件夹中有我们需要的Oracle.ManagedDataAccess.dll。我们在VS中添加引用。
测试连接
- 引入dll
Imports System
Imports System.Data
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports Oracle.ManagedDataAccess.Client
- 测试连接
Dim connString As String = “Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.XXX.XX)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = orcl)));User Id=** **;Password= **;”
Dim conn As OracleConnection = New OracleConnection(connString)
Try
conn.Open()
MsgBox(“SUCCESSFUL!”, MsgBoxStyle.OkOnly, “系统错误”)
Catch ex As Exception
MsgBox(“ERROR!”, MsgBoxStyle.OkOnly, “系统错误”)
End Try