Fragensteller
ConectionString

Frage
-
Hallo,
ich muss in meinem in VB2017 geschriebenen Programm Daten nicht nur aus meiner eigenen SQL-Datenbank sondern auch aus einer Oracle-Fremddatenbank abfragen (Version: 11.2.0.4.0). Hier ein Code-ausschnitt:
Imports System.Data.OracleClient Dim ConnString As String ConnString = "Data Source=TESTNAME;User Id=TESTUSER;Password=TESTPASSWORD;Integrated Security=no;") Using ConnOra As New OracleConnection(ConnString) ConnOra.Open() ..... End Using
Nun bekomme ich eine Warnung, dass "OracleConnection" veraltet ist. Deswegen habe ich die aktuelle Version Oracle.ManagedDataAccess installiert. Der Code sieht jetzt so aus:
Imports Oracle.ManagedDataAccess.Client Dim ConnString As String ConnString = "Data Source=TESTNAME;User Id=TESTUSER;Password=TESTPASSWORD;") Using ConnOra As New OracleConnection(ConnString) ConnOra.Open() ..... End Using
Beim Versuch die Verbindung zu öffnen bekomme ich folgende Fehlermeldung:
"ORA-12154: TNS: Angegebener Connect Identifier konnte nicht aufgelöst werden"
Leider komme ich nicht dahinter, was da mit der ConnString nicht stimmt. Könne mir jemand einen Tipp geben?
Gruß
Christop
- Bearbeitet Christoph Michalski Samstag, 10. Oktober 2020 09:18
- Bearbeitet Stefan FalzModerator Samstag, 10. Oktober 2020 09:25 Formatierung ergänzt
- Verschoben Stefan FalzModerator Samstag, 10. Oktober 2020 09:33 Keine SQL Server Frage
Alle Antworten
-
Hallo Christoph,
um Code zu posten, verwende bitte den Button "Codeblock einfügen" in der Smybolleiste des Editors (zweites Icon von rechts).
Du gibst nur TESTNAME als Data Source an. Was soll das sein? Ein System DSN? Ein Servername? ...?
Die Meldung an sich (man sucht in der Regel nach der Fehlermeldung wie ORA-12154, meistens kommen dann schon recht gute Hinweise) kann bspw. darauf hindeuten, dass die tnsnames.ora nicht gefunden wird oder kein Eintrag f+r TESTNAME existiert. Siehe dazu bspw.:
oder
https://kb.tableau.com/articles/issue/troubleshooting-oracle-connection-errors?lang=de-de
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET (2001-2018)
https://www.asp-solutions.de/ - IT Beratung, Softwareentwicklung, Remotesupport
- Bearbeitet Stefan FalzModerator Samstag, 10. Oktober 2020 09:32
-
-
Hi Christoph,
wenn du nicht mit integrierter Windows Authentifizierung arbeitest, sollte auch "Integrated Security=no" angegeben werden, z.B. so:Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;Integrated Security=no;
Außerdem solltest du prüfen, ob der Oracle Server überhaupt erreichbar ist, z.B. erst einmal mit Ping (muss nicht klappen, wenn der Server das nicht unterstützt), dann mit Datenverknüpfungseigenschaften (test.udl -Textdatei mit Doppelklick starten).
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks- Als Antwort vorgeschlagen Dimitar DenkovMicrosoft contingent staff, Administrator Donnerstag, 15. Oktober 2020 06:38
-
Hallo Christoph,
nach meiner Erfahrung sind Datenbankzugriffe von .net nach ORACLE schon ein wenig speziell.
Die TNS-Names sind für einen Windows-Entwickler aus meiner Sicht einfach nur Überflüssig.Schau Dir doch folgenden Hersteller an. Es gibt dort auch für ORACLE eine Freie Version, die Express Version. Achtung: Die kann soweit ich mich erinnere "nur" per Code zugreifen. Das Binden an Controls mit dem Designer ist schon außen vor. Das wären dann 350$ für die Developer Version. Abhängig von dem Projekt und dem was Du sonst noch damit vor hast mag das für Dich trotzdem noch in Frage kommen.
Schau Dir die Doku an und die vorhandenen Beispiele und versuche für Dich herauszufinden ob das für Dich passen kann.
https://www.devart.com/dotconnect/oracle/editions.htmlHTH
Grüße Alexander