如何使用Oracle.ManagedDataAccess连接到oracle

时间:2015-10-06 06:37:57

标签: c# oracle-sqldeveloper

我正在尝试使用以下代码连接到oracle数据库。

using System;
using System.Collections.Generic;
using System.Data;

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            string connectionString =
                "Data Source=a;User Id=id;Password=pwd;";

            OracleConnection con = new OracleConnection(connectionString);
            con.Open();
            Console.WriteLine("Connected to Oracle Database {0}", con.ServerVersion);
            con.Dispose();

            Console.WriteLine("Press RETURN to exit.");
            Console.ReadLine();

        }

    }
}
  

它的抛出异常说:

     

未处理的类型异常   ' Oracle.ManagedDataAccess.Client.OracleException'发生在   Oracle.ManagedDataAccess.dll

     

其他信息:ORA-12514:TNS:目前没有听众   知道连接描述符中请求的服务。

任何人都能纠正我上面代码出了什么问题吗?

1 个答案:

答案 0 :(得分:0)

问题可能是连接字符串,如果您没有 TNS名称“a”已注册 你可以试试这个

string connectionString = 
"Data Source=localhost:1521/xe;User Id=USERDB;Password=pwd";

默认情况下,XE是oracleservice的名称

  

数据来源 - > localhost:1521 / xe(ip:port / servicename)

     

用户ID - >你是Oracle用户

     

密码 - >你的Oracle密码