【问题标题】:C# How to connect to Oracle database and necessary connectio nattributesC#如何连接Oracle数据库及必要的连接属性
【发布时间】:2014-06-22 03:02:20
【问题描述】:

我有一个要连接的 Oracle 数据库。我是连接到 C# 中的数据库的新手。我一直在网上研究,但我得到了各种不同的答案/回应,让我更加困惑。

我试图了解在 C# 中连接到数据库需要什么。我研究过使用 SqlConnection 和 SqlCommand。这些是否足以连接到数据库?此外,对于连接字符串中需要哪些字段来连接到 Oracle 数据库,每个人都有不同的想法。用户名、密码和服务器名是我唯一可以明确确认我需要的。

任何有关此主题的信息将不胜感激。提前致谢。

【问题讨论】:

标签: c# database oracle database-connection


【解决方案1】:

我理解您的困惑,我自己也遇到过这种困惑。诀窍是获取您的 Tnsnames.ora 的连接信息,该文件通常位于

C:\oracle\product[产品版本]\client_1\NETWORK\ADMIN

(我的是 C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 因为我的产品版本是 10.2.0)

以上内容当然假设您已经正确安装了 Oracle 客户端,并且有人为您提供了 TNSNames.ora 文件。

假设您已经建立了一个 Oracle 连接,第 1 步是查找一个名为 tnsnames.ora 的文件并查看其中的内容。你可能会看到这样的事情:

MyConnectionName =

(ADDRESS = (PROTOCOL = TCP)(HOST = Some.server.ulr)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME =MyConnectionName.some.server.ulr)
(FAILOVER_MODE = (TYPE = SELECT)(METHOD = BASIC))
)
)

然后你可以想出你的连接字符串:

connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Some.server.ulr)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=MyConnectionName.some.server.ulr)));User Id=MyId;Password=MyPassword;";

并在类似...的代码中使用它

          using (System.Data.OracleClient.OracleConnection cn = new System.Data.OracleClient.OracleConnection(connectionString))
         {
              // real work here
         }

【讨论】:

  • 哦,哇,我现在才看到这个文件,它让很多事情变得更加清晰。不过,我可能有一个小问题。我正在使用 VS2010,在我的属性下,我已将目标框架设置为“.NETFramework 3.5”。因为我已将其设置为此而不是“.NETFramework 4.0”,所以如果我尝试手动将程序集引用 (System.Data.OracleClient) 添加到我的程序集引用中,我会收到一条消息说......“不,停止,你除非您将框架更改为 .NetFramework 4.0,否则无法添加此内容”所以我也一直在研究使用 System.Data.OleDb 和 System.Data.Odbc。
猜你喜欢
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 2021-04-27
  • 2014-09-04
  • 2017-05-18
  • 1970-01-01
  • 2013-06-26
  • 2010-09-10
相关资源
最近更新 更多