web-dev-qa-db-ger.com

Wie stellt man von .NET aus eine Verbindung zu Oracle DB her?

Wenn ich die SQL-Befehlszeile öffne, schreibe ich CONNECT username/[email protected][//]Host[:port][/service_name]. Ich kann jedoch keine Verbindung von einem .NET-Projekt über eine Verbindungszeichenfolge herstellen. Ich habe viele Dinge wie <add name="ConnectionString" connectionString="Data Source=username/[email protected][//]Host[:port][/service_name];" /> und <add name="ConnectionString" connectionString="server=tcp:Host;Initial Catalog=service_name; user id=username; password=password; Connection Timeout=180;" providerName="System.Data.OracleClient" /> ausprobiert, aber bisher hat nichts funktioniert. Wann immer ich zu sconn.Open(); komme:

var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sconn = new SqlConnection(CurrentConnectionString);
sconn.Open();

Ich bekomme praktisch immer folgenden Fehler:

Ein netzwerkbezogener oder instanzspezifischer Fehler ist aufgetreten, während Herstellen einer Verbindung zu SQL Server. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server ist so konfiguriert, dass Remoteverbindungen zugelassen werden. (Anbieter: SQL Netzwerkschnittstellen, Fehler: 25 - Verbindungszeichenfolge ist ungültig)

Wie kann ich mich korrekt mit der Datenbank verbinden?

7
Mathieu Roy

Versuchen Sie die folgende Verbindungszeichenfolge

string con = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host = 000.00.0.00)(PORT = 0000)))(CONNECT_DATA =(SERVICE_NAME = database)));User ID=User/Schema;Password=password;Unicode=True";

& dann verwenden Sie diese Verbindungszeichenfolge wie folgt

using (OracleConnection objConn = new OracleConnection(con))
 {
   \\ code
 }
5
user2148124

Ich empfehle die Verwendung des "Offiziellen Oracle ODP.NET, Managed Driver".

https://www.nuget.org/packages/Oracle.ManagedDataAccess/

Oder eine für das Entity-Framework: https://www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/

Nach der Installation über Visual Studio wird eine Readme-Datei geöffnet, die ich Ihnen auch empfehle. 

Oracle bietet umfangreiche Dokumentationen. Hier fangen Sie an:http://www.Oracle.com/technetwork/topics/dotnet/whatsnew/index.html

Sie verwenden System.Data.SqlClient.SqlConnection, um eine Verbindung zu einem (Microsoft) SQL Server herzustellen, es kann nicht für eine Oracle-Verbindung verwendet werden.

Sie sollten System.Data.OracleClient.OracleConnection oder Oracle.ManagedDataAccess.Client.OracleConnection verwenden.

Sehen Sie sich diese Antwort an, um auch andere Möglichkeiten zu sehen: So stellen Sie eine Verbindung zur Oracle 11-Datenbank her. Netz

1

Sie können EF immer verwenden und erstellen Sie eine ADO.Net Entity Data Model

 enter image description here

Verwenden Sie den Assistenten, um die Verbindung herzustellen und zu testen 

 enter image description here

0