【问题标题】:Connection to remote oracle db from c# code从 C# 代码连接到远程 oracle 数据库
【发布时间】:2013-07-03 15:51:58
【问题描述】:

我需要从 C# 代码连接到远程 oracle 数据库。客户端安装了 PL/SQL Developer 并且可以正常工作,它应该可以帮助我找出自定义应用程序的设置。

问题是:如何从 PL/SQL Developer 获取连接字符串?

【问题讨论】:

  • 一个非常重要的问题是您使用的是哪个版本的 .NET 框架?在 4.0 之前,您可以使用 System.Data.OracleClient,但现在您必须使用第三方提供商。我倾向于将 Oracle 的 ODP.NET 用于 .NET 框架 4.0 或更高版本的项目。
  • 没关系)我可以使用ODP.NET。

标签: database oracle connection-string plsqldeveloper


【解决方案1】:

如果您使用的是 ODP.NET,请使用以下连接字符串

     string _ConnectionString = "Data Source=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)
(HOST = " + _host + ")(PORT = " + _port + "))(CONNECT_DATA = (SERVER = DEDICATED)
(SERVICE_NAME = " + _database + ")));Password=" + _password + ";User ID=" + _user;

如果连接来自 sql developer,右键单击连接名称将打开如下窗口

将_host替换为主机名vale,将_port替换为端口值,将_database替换为SID,将_user替换为用户名,将_password替换为上述c#连接字符串中sql属性框中的密码值。

【讨论】:

    【解决方案2】:

    http://www.connectionstrings.com 是查找各种语言和数据库之间的连接字符串的绝佳资源。 http://www.connectionstrings.com/oracle,更具体地说,有您要查找的连接字符串信息。

    【讨论】:

    • 我需要一个特定的字符串,而不是通用的。
    • Dim oradb As String = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=YOUR_HOST_ADDRESS)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=YOUR_SERVICE_NAME)));User Id=YOUR_USER_NAME;Password=YOUR_PASSWORD;" 这是我使用 ODP.NET 在 .NET 4.0 项目中连接到 PlSQL 的方法。希望有帮助。只需将以 YOUR_ 开头的部分替换为其对应的信息,连接对象(一旦您引用 ODP.NET)为OracleConnection(connection_string)
    • 也许我误解了这个问题:如果您不知道完成连接字符串所需的确切数据(用户 ID、密码、主机),请在计算机上搜索名为“tnsnames”的文件.ora”。这将保存您需要的所有数据 - 除了密码。
    猜你喜欢
    • 2012-01-24
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 1970-01-01
    • 2017-12-14
    • 2012-07-16
    • 2014-06-03
    相关资源
    最近更新 更多