Oracle(SQL不存在或访问被拒绝)

时间:2017-05-27 08:06:26

标签: c# oracle12c

我希望一切顺利 我有一个问题与oracle最后一个版本是12c我已经在我的电脑上安装oracle我面临的问题当我想通过c#语言连接到oracle  我得到它的错误是([DBNETLIB] [ConnectionOpen(Connect())。] SQL Server不存在或访问denie d。)

我不知道为什么?以下是我尝试连接到此数据库的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.Data.OracleClient;
namespace ConnectDatabase
{
    class ConnectDatabase
    {
        public void connect()
        {

            try
            {
                OleDbConnection con = new OleDbConnection();
                con.ConnectionString = "Provider = SQLOLEDB.1 ; data source = pdborcl ; User Id = hr ; Password = hr";
                con.Open();
                if (con.State == System.Data.ConnectionState.Open)
                {
                    Console.WriteLine("The Connection Is open.");
                }
                else
                {
                    Console.WriteLine("The Connection Is Closed.");
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

        }
    }
}

非常感谢

2 个答案:

答案 0 :(得分:0)

您的连接字符串错误,它指向Sql Server实例(SQLOLEDB)。根据文件

https://support.microsoft.com/en-us/help/308448/how-to-access-an-oracle-database-by-using-the-ole-db-.net-data-provider-and-visual-c-.net

必须使用自己的特定提供商访问Oracle数据库。

如果我是你,我会使用原生提供者而不是OLEDB,如此处所述

C# and Oracle database connection

答案 1 :(得分:0)

我修复了连接字符串是以下

con.ConnectionString = "Provider = OraOLEDB.Oracle;Data Source=pdborcl;User Id=hr;Password=hr;";

感谢大家