介绍

当我们采用 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. 登录功能(MD5加密)

    登录这个功能,是不管哪个项目都会用到的,登录做的好坏,安全性的保障将直接影响到整个系统的成败,尤其是一些安全性要求比较严格的项目 1.首先需要对密码进行加密,这里用到的是md5加密,需要在login. ...

  2. Shiro报错-[org.apache.shiro.mgt.AbstractRememberMeManager] - There was a failure while trying to retrieve remembered principals.

    2017-04-08 11:55:33,010 WARN [org.apache.shiro.mgt.AbstractRememberMeManager] - There was a failure ...

  3. 对于java中的"\"和"/" 区别

    "\"在mac系统和类Unix 系统中是识别不出来的,对于java这种跨平台的语言来说不宜使用这个符号 "/"使用这个符号一般 都可以被识别

  4. 计蒜客 取数游戏 博弈+dp

    题目链接 取数游戏 思路:dp(x, y)表示先手在区间[x, y]能取得的最大分数.当先手取完,就轮到后手去,后手一定会选择当前能令他得到最大分数的策略,其实当先手在[x, y]区间两端取走一个数, ...

  5. php-fpm问题

    这个问题怎么说呢?之前遇到这个问题内心是奔溃的.因为我压根不知道是哪里出问题啦.不过,在我努力探索下,最终还是解决了问题. so请记住,坚持不一定成功,但放弃一定失败. 简单描述一下问题: 1.本地的 ...

  6. ES磁盘分配不均问题

    最近es集群磁盘空间告警,日志又没地方可以迁移,然后申请了新的服务器,一次性加入8台新的服务器 新增了32个新的数据节点,至此,我们的主集群已经到达85个数据节点的规模,整个集群数据已达到PB级别,终 ...

  7. Python基础学习参考(四):条件与循环

    在实际的开发中,想要实现某些功能或者需求,里面必然涉及到一些逻辑,复杂的也好简单也好,那么,通过python语法如何实现呢?这就涉及到了条件与循环.很显然绝大多数的语言都有条件和循环的语法,pytho ...

  8. Web渗透测试(sql注入 access,mssql,mysql,oracle,)

    Access数据库注入: access数据库由微软发布的关系型数据库(小型的),安全性差. access数据库后缀名位*.mdb, asp中连接字符串应用-- "Driver={micros ...

  9. Jpa中设置OneToMany插入报异常解决办法

    在Jpa中如果设置@OneToMany,但使用的时候,如果没有赋值,会报异常出现,这时只需要实例化一个空数组即可, 但类型一定要对应: 实例如下: newField.setxxxxxList(new ...

  10. HighGUI图形图像界面初步—— 图像的载入、显示与输出

    HighGUI模块为高层GUI图形用户界面模块,包含媒体的输入输出.视频捕捉.图像和视频的编解码.图形交互界面的接口等. 在本章中,我们将学到: 图像的载入.显示和输出到文件的详细分析 滑动条的创建和 ...