![]() |
Datenbank: Oracle • Version: 10g • Zugriff über: ADO
Host und IP bei ADO Oracle
Hallo,
Erst mal ein Hallo, bin noch neu hier, und auch schon ein Problem :) Ich bin nun schon lange auf der Suche nach einer Beschreibung, wo man das Port und die IP oder Host bei einer ADO Verbindung für Oracle deffiniert. Mein login sieht zur Zeit wie folgt aus, und es funktioniert auch.
Delphi-Quellcode:
Gebe ich die IP und port beim "Data Source" an? Aber wie, habe schon entliche varianten versucht. :wall:
Memo2.Lines.Append(DateTimeToStr(Time)+' - Start loggin ...');
IF Datamodule1.ADOConnection.Connected = True THEN BEGIN Datamodule1.SQL.Close; Datamodule1.ADOConnection.Connected := False; Datamodule1.SQL.ConnectionString := ''; END; MyConnecting := 'Provider='+Datasource+'; '+ 'Persist Security Info=False; '+ 'User ID='+SetUser+'; '+ 'Password='+PASSWORD_DECODE(SetPass)+'; '+ 'Data Source='+db; Datamodule1.ADOConnection.ConnectionString := MyConnecting; Datamodule1.SQL.ConnectionString := MyConnecting; Datamodule1.ADOConnection.Connected := True; Danke für den TIPP |
Re: Host und IP bei ADO Oracle
Du solltest dir auf jedenfalls einen ADO/OLE DB-Provider von Oracle direkt besorgen. Der von MS mitgelieferte ist Schrott (oder sanft ausgedrückt: Er ist eine Machbarkeitsstudie)!
Noch besser ist es direkte Zugriffskomponenten wie z.B. von ![]() |
Re: Host und IP bei ADO Oracle
Sorry, habe vergessen den Provider anzugeben.
Also ich denke ich benutze ADO/OLE oder nicht? Provider: OraOLEDB.Oracle.1 |
Re: Host und IP bei ADO Oracle
Host und IP kannst Du so nicht angeben. DataSource ist der DSN des entsprechenden Servers wie es beim installierten Oracle Client in der tnsnames.ora angegeben ist.
![]() |
Re: Host und IP bei ADO Oracle
Hallo
Delphi-Quellcode:
IP und Port und entfernter DBName(Service) werden in der TNSNAMES.ORA deiner lokalen OracleClient Installation hinterlegt. Mit dem darin definierten TNS-Bezeichner arbeitest du dann innerhalb Delphi.
adoSrcConnection.ConnectionString := 'Provider=OraOLEDB.Oracle'
+';Data Source='+cbxSrcDatabase.Text +';User Id='+ediSrcUsername.Text +';Password='+ediSrcPassword.Text +';';
Delphi-Quellcode:
Wenn du z.b. mit dem TNSNamen blabladatenbank die Verbindung definiert hast, so kannst du mit folgendem die Oraclestrecke testen in einer Kommandozeile(das gute alte DOS ....:-)... :
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools. blabladatenbank = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = entfernterdatenbankname) ) )
Delphi-Quellcode:
Bei Erfolg erhälst du eine Zeitangabe in ms.
tnsping blabladatenbank
Dann sollte die Verbindung wie oben funktionieren...
Delphi-Quellcode:
cbxSrcDatabase.Text:='blabladatenbank';
|
Re: Host und IP bei ADO Oracle
Besten Dank für euro Antworten.
Dann ist es also nicht möglich die TNSNAMES.ORA zu übersteuern? Ich denke daran das jemand einen quatsch in der tnsnames.ora deffiniert hat und nun das Programm starten möchte, dass die einstellungen des Programm diese in tns übersteuert. Ich möchte nur sicherstellen das die Software immer läuft, denn auf jenigem PC arbeiten mehrere Personen und da kann es schon mal vorkommen das da jemand was fummelt. |
Re: Host und IP bei ADO Oracle
Also erstmal bieten moderne Betriebssysteme eine entsprechende Rechteverwaltung, so dass nicht jeder Nutzer einfach so die Einstellungen an solch neuralgischen Punkten ändern kann.
Du kannst natürlich auch den sogenannten TNS-less connection string ausprobieren. Den findest Du bei meinem o.a. Link. Ansonsten hilft Dir nur noch eine alternative Zugriffskomponente, wie z.B. die schon angesprochenen Oracle Data Access Components von CrLab ![]() |
Re: Host und IP bei ADO Oracle
Kleiner Auszug aus deinem Code:
Delphi-Quellcode:
Die 2. Zeile ist natürlich sehr ungeschickt, da die Query, die bei dir "SQL" heisst ja schon mit "ADOConnection" in Verbindung steht.
Datamodule1.ADOConnection.ConnectionString := MyConnecting;
Datamodule1.SQL.ConnectionString := MyConnecting; // <==== Wenn man jeder ADOQuery einen ConnectionString zuweist, ist das fast schon die Garantie für Probleme, da so mehrere Connections anstatt nur einer aufgebaut werden. |
Re: Host und IP bei ADO Oracle
Besten Dank für deinen Hinweis. Habe schon immer gewusst, dass ich noch einige Fehler im Code habe.
|
Re: Host und IP bei ADO Oracle
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz