Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Host und IP bei ADO Oracle (https://www.delphipraxis.net/112167-host-und-ip-bei-ado-oracle.html)

=pascal= 16. Apr 2008 08:07

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:
 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;
Gebe ich die IP und port beim "Data Source" an? Aber wie, habe schon entliche varianten versucht. :wall:

Danke für den TIPP

Bernhard Geyer 16. Apr 2008 08:55

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 Core Labs zu nehmen. Damit sind die Einricht bzw. Verteilungs bzw. Versionsprobleme auf ein minmum reduziert. Man braucht nur noch eine Oracle-Version bei der die Fehler nicht so eklatant sind.

=pascal= 16. Apr 2008 09:54

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

rwachtel 16. Apr 2008 11:06

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.

http://www.connectionstrings.com/?carrier=oracle

peschai 16. Apr 2008 11:28

Re: Host und IP bei ADO Oracle
 
Hallo
Delphi-Quellcode:
          adoSrcConnection.ConnectionString := 'Provider=OraOLEDB.Oracle'
                                               +';Data Source='+cbxSrcDatabase.Text
                                               +';User Id='+ediSrcUsername.Text
                                               +';Password='+ediSrcPassword.Text
                                               +';';
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.
Delphi-Quellcode:
# 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)
    )
  )
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 ....:-)... :
Delphi-Quellcode:
tnsping blabladatenbank
Bei Erfolg erhälst du eine Zeitangabe in ms.
Dann sollte die Verbindung wie oben funktionieren...
Delphi-Quellcode:
cbxSrcDatabase.Text:='blabladatenbank';

=pascal= 16. Apr 2008 11:46

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.

rwachtel 16. Apr 2008 11:52

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 http://crlab.com/odac/ Diese bieten einen Direktzugriffsmodus, so dass der Oracle Client noch nichtmal installiert sein muss.

shmia 16. Apr 2008 12:12

Re: Host und IP bei ADO Oracle
 
Kleiner Auszug aus deinem Code:
Delphi-Quellcode:
Datamodule1.ADOConnection.ConnectionString := MyConnecting;
Datamodule1.SQL.ConnectionString := MyConnecting;  // <====
Die 2. Zeile ist natürlich sehr ungeschickt, da die Query, die bei dir "SQL" heisst ja schon mit "ADOConnection" in Verbindung steht.
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.

=pascal= 16. Apr 2008 13:12

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.

=pascal= 16. Apr 2008 13:16

Re: Host und IP bei ADO Oracle
 
Zitat:

Zitat von rwachtel
Also erstmal bieten moderne Betriebssysteme eine entsprechende Rechteverwaltung, so dass nicht jeder Nutzer einfach so die Einstellungen an solch neuralgischen Punkten ändern kann.

Du hast Recht, aber irgendwie gelingt es diesen sogenannten Personen immer wieder. Da was zu ändern. Ich werde mir mal das Produkt anschauen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz