介绍

当我们采用 ODP.NET 检索Oracle 数据库的时候,Oracle客户端是必须安装。假如当时电脑上没有安装Oracle客户端,就不能这么用了,这时候Oracle.ManagedDataAccess.Client就派上用场了。

背景知识

在浏览本文之前, 我们必须了解 ADO.NET 框架, 以便通过其数据提供程序库连接到任何数据库。

下面的示例代码是一个简单的控制台应用程序, 它使用 OracleManagedDataAccess 客户端库而不是 ODP.NET 连接到 oracle 数据库。在此应用程序中, 不需要在目标计算机上安装 oracle 客户端。

在使用此代码之前, 您还需要具有正确的连接字符串, 以便访问数据库表。

在这篇文章中, 我有一个连接到oracle数据库的有效连接串:

User Id = test; Password = test; Data Source=localhost:1521; Pooling=false

表的名字: tblTest

因此, 如果有人要使用这个示例代码, 他们需要确保他们输入了上面提到的正确的细节。

代码示例

请按照以下步骤创建此示例控制台应用程序, 它在不使用 oracle 客户端的情况下连接 oracle 数据库。

1. 创建C#控制台项目
2. 右键单击项目并选择 "管理 nuget 包管理器"
3. 搜索 oracle.ManagedDataAccess 库
4. 在接受许可后, 安装动态库。
5. 添加动态库引用后,参考下面的代码中指定的代码, (在顶部添加使用 Oracle.ManagedDataAccess.Client)
6. 现在请参考下面的代码, 连接到不使用 oracle 客户端的 oracle 数据库

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client; namespace OracleManagedAccess
{
class Program
{
static void Main(string[] args)
{
OracleConnection con = new OracleConnection("User Id=test;Password=test; Data Source=localhost:1521; Pooling=false");
OracleCommand cmd = new OracleCommand(); Console.WriteLine("Welcome to OracleManagedAccess Connection! Please press 1 to connect to the Oracle database");
int input = Convert.ToInt16(Console.ReadLine()); if(input==)
{
con.Open();
cmd = con.CreateCommand();
cmd.CommandText = "Select * from tblTest"; OracleDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
Console.WriteLine(reader["Col1"].ToString()+ " "+ reader["Col2"].ToString());
}
}
else
{
Console.WriteLine("Please Try again");
} Console.ReadKey();
}
}
}

无需安装Oracle Client连接Oracle数据库的更多相关文章

  1. plsql oracle client没有正确安装(plsql连接远程数据库)

      plsql oracle client没有正确安装(plsql连接远程数据库) CreateTime--2018年4月23日16:55:11 Author:Marydon 1.情景再现 2.问题解 ...

  2. atitit.client连接oracle数据库的方式总结

    client连接oracle数据库的方式总结 文件夹 Java程序连接一般使用jar驱动连接.. ... 桌面GUI一般採取c语言驱动oci.dll 直接连接... 间接连接(须要配置tns及其env ...

  3. [转]使用Navicat for Oracle工具连接oracle的

    使用Navicat for Oracle工具连接oracle的 这是一款oracle的客户端的图形化管理和开发工具,对于许多的数据库都有支持.之前用过 Navicat for sqlserver,感觉 ...

  4. 使用Navicat for Oracle工具连接oracle

    使用Navicat for Oracle工具连接oracle的 这是一款oracle的客户端的图形化管理和开发工具,对于许多的数据库都有支持.之前用过 Navicat for sqlserver,感觉 ...

  5. 使用C#通过Oracle.DataAccess连接Oracle,部署时需要注意版本问题

    平时我们开发使用的是32位的PC机,所以安装的也是Oracle32位的客户端.但是一般服务器都是64位的,安装的也是64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Or ...

  6. Win7 64位安装VS2013无法连接远程数据库

    win7 64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException' o ...

  7. ORACLE 配置连接远程数据库

    ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...

  8. oracle client 低于 oracle server 端,导致报错ORA-01882

    https://forums.toadworld.com/t/ora-01882-when-i-want-to-view-records-con-dba-scheduler-jobs-toad-10- ...

  9. python 3.x 安装问题及连接oracle数据库

    最近有用到python去处理一些问题,发现现在3已出来,遂用直接下3.7使用 发现问题还是有一点的 1. pip 会出现ssl问题 Could not install packages due to ...

随机推荐

  1. Mock摆脱后端拖拉(借鉴官网)(一)

    mock是一个模拟数据生成器,旨在帮助前端独立于后端进行开发,帮助编写单元测试.mock有如下功能 根据数据模板生成模板数据 模拟ajax请求,生成请求数据 基于html模板生成模拟数据 下载安装 n ...

  2. 如何通过 ZAZ-020 电容指纹模块采集指纹信息?

    #ifndef _PROTOCOL_H_ #define _PROTOCOL_H_ ///////////////////错误返回码//////////////////// #define PS_OK ...

  3. Python多进程----从入门到放弃

    Python多进程 (所有只写如何起多进程跑数据,多进程数据汇总处理不提的都是耍流氓,恩,就这么任性) (1)进程间数据问题,因为多进程是完全copy出的子进程,具有独立的单元,数据存储就是问题了 ( ...

  4. MySQL之pymysql模块

    MySQL之pymysql模块   import pymysql #s链接数据库 conn = pymysql.connect( host = '127.0.0.1', #被连接数据库的ip地址 po ...

  5. linux kvm虚拟机快速构建及磁盘类型

    KVM命令管理 virsh命令:用来管理各虚拟机的接口命令查看/创建/停止/关闭...支持交互模式格式:virsh 控制指令 [虚拟机名称] [参数] [root@room1pc01 桌面]# vir ...

  6. javascript DOM document对象

    document对象代表整个html文档 用来访问页面所有元素最复杂的一个dom对象 也是window对象的一个子对象. 对于dom编程中,一个html就会当成一个dom树dom会把所有的html元素 ...

  7. jQuery中的val()

    jQuery中的val() 1.实例源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  8. WebService之CXF注解之五(配置文件)

    1.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version=" ...

  9. java.util.zip.ZipException:ZIP file must have at least one entry

    1.错误描述 java.util.zip.ZipException:ZIP file must have at least one entry 2.错误原因 由于在导出文件时,要将导出的文件压缩到压缩 ...

  10. org.hibernate.MappingException

    1.错误描述 org.springframework.beans.factory.BeanCreationException:Error creating bean with name 'sessio ...