2017-05-27 5 views
0

Ich hoffe, alles ist gut Ich habe ein Problem mit dem Orakel letzte Version ist 12c Ich habe installieren das Orakel in meinem PC Ich habe ein Problem, wenn ich mit dem Orakel durch verbinden will C# Sprache die Fehler, die ich erhalte, ist ([DBNETLIB] [Connection (Connect()).] SQL-Server nicht denie existiert oder Zugang d.)Oracle (SQL existiert nicht oder Zugriff verweigert)

ich weiß nicht, warum? Folgendes ist der Code, ich versuche, auf diese Datenbank zu verbinden:

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); 
      } 

     } 
    } 
} 

Dank viel

+0

1) Wenn es Orakel ist, sagt die warum Fehlermeldung "SQL Server existiert nicht oder Zugriff verweigert?" 2) Können Sie über die Eingabeaufforderung eine Verbindung herstellen oder Terminal? – Utsav

+0

Warum referenzieren Sie 'System.Data.OracleClient', sondern' OleDbConnection'? – Filburt

Antwort

0

Ihre Verbindungszeichenfolge falsch ist, es deutet auf eine SQL Server-Instanz (SQLOLEDB). Gemäß der docs hat

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

die Oracle-Datenbank mit ihrem eigenen spezifischen Anbieter zugegriffen werden.

Wenn ich Sie wäre, aber ich würde die einheimischen Anbieter verwenden, anstatt die OLEDB ein, wie hier erwähnt

C# and Oracle database connection

+0

ich benutze auch die OLEDB.1 als Provider es ist mir sagen, die OLEDB.1 nicht auf dem lokalen Rechner registriert – Mustafa

0

ich es beheben die Verbindungszeichenfolge wird die folgende

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

Danke für alle

Verwandte Themen