c# - .net 的替代 Oracle 驱动程序

标签 c# oracle database-connection

我必须用 C# 开发一个工具来从 Oracle 数据库中检索一些数据。由于我们的 IT 支持在安装 Oracle 客户端时遇到了一些问题,我希望能够在不安装客户端的情况下连接到数据库。 这个想法是只安装(并可能注册)一个额外的库和应用程序。

Oracle 客户端有哪些替代方案,它们的优缺点是什么?

这是针对小型应用程序(1 个表单,2 或 3 个查询,结果显示在 DataGrid 中,可能不超过 10-20 个数据集),但我也对可扩展性问题感兴趣,因为我们也可能移动远离具有更大 future 项目的 Oracle 客户。

当然,免费软件解决方案会很好,但我们不限于此。

最佳答案

无需任何第三方软件即可完成您的任务:

  1. 安装 Oracle Data Access Components 11g在您的开发箱中。 ODAC 11g 向后兼容 9i 和 10g
  2. 在您的 .NET 项目 (Oracle.DataAccess.dll) 中添加对 ODAC 库的引用。
  3. 允许您的应用程序在不使用 TNSNAMES.ORA 的情况下进行连接。为此,您必须在连接字符串中包含连接描述符:

    "用户id=scott;密码=tiger;数据源="+ “(描述=(地址=(协议(protocol)=tcp)”+ "(HOST=销售服务器)(PORT=1521))(CONNECT_DATA="+ “(SERVICE_NAME=sales.us.acme.com)))”

由于您在连接字符串中包含连接描述符,因此目标计算机中不需要瘦客户端。

部署愉快。

关于c# - .net 的替代 Oracle 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/495909/

相关文章:

c# - 在 WPF Windows 应用程序中的 LTR 和 RTL 用户界面之间切换

C# WPF mysql 字符串

c# - 将用户输入返回到未定义的数组中?

甲骨文11g : Can I create a number column that stores only 1 byte?

ASP.NET 成员(member)数据库连接

c# - ILGenerator.DeclareLocal() 采用尚未编译的类的类型

sql - 是否可以从 PL/SQL block 输出 SELECT 语句?

oracle - 我们可以在 PL/SQL 中的函数内部调用过程吗?

java - HBase Spark 连接选项 [Java]

sql - IO 错误 : The Network Adapter could not establish the connection - with Oracle 11gR2. 与 SQL 开发人员连接