Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dbexpora.dll kann nicht geladen werden (https://www.delphipraxis.net/151312-dbexpora-dll-kann-nicht-geladen-werden.html)

TilmannRuessel 12. Mai 2010 11:46

Datenbank: oracle • Version: 9 • Zugriff über: k.A. über TNSNames ORA

dbexpora.dll kann nicht geladen werden
 
Exception in EDatabaseError in Modul PTelefon.exe bei XY dbexpora.dll kann nicht geldane werden

Hallo Cracks,

o.g. Meldung bekomme ich, wenn ich ein "geerbtes" Delphi Programm starten möchte. Nach einigem gegoogle habe ich den Hinweis auf einen Download der DLL gefunden und mir diese einfach mal ins Prog-Verzeichnis kopiert.

Starte ich die exe nun, bekomme ich den Fehler "Exception EDATABASEError in Modul PTelefon.exe bei XY ... ORA - 12154 - der Servicename kann nicht aufgelöst werden".

Das zeigt mir ja an, daß ich die DB nicht in die TNSNames ORA eingetragen habe.

Problem ist halt jetzt, wo finde ich den Hinweis auf den Namen der DB, die ich dort eintragen muss ? Im Prog-verzeichnis finde ich auch keine Paradox Files. Ich suche nochmals die ressourcen durch, ich meine dort mal einen Hinweis auf eine DB gesehen gehabt zu haben. Wie sieht es mit der DBexpoa.dll aus - muss ich diese auch in die registry eintragen und wenn, wie am gschicktesten ?

Kann mir bitte ein freundlicher Mensch mit eine wenig StepByStep Support unter die Arme greifen ?

Danke

mkinzler 12. Mai 2010 11:57

Re: dbexpora.dll kann nicht geladen werden
 
Der Zugriff scheint über dbExpress zu erfolgen

TilmannRuessel 12. Mai 2010 13:14

Re: dbexpora.dll kann nicht geladen werden
 
Zitat:

Zitat von mkinzler
Der Zugriff scheint über dbExpress zu erfolgen

Heisst das, ich muss dbExpress noch installieren ? Oder einen Treiber für Oracle ? Im o.g. Erbe war auch eine "CodeGear Rad Studio 2009" IDE enthalten, kann ich hier konfigurieren ?

sirius 12. Mai 2010 13:31

Re: dbexpora.dll kann nicht geladen werden
 
Zitat:

Zitat von TilmannRuessel
Problem ist halt jetzt, wo finde ich den Hinweis auf den Namen der DB, die ich dort eintragen muss ?

Du musst doch wissen, auf welche Datenbank das Programm zugreift.

deadcantdance 12. Mai 2010 14:02

Re: dbexpora.dll kann nicht geladen werden
 
Setz Dir Doch einen Haltepunkt bei dem Connect zur DB, dann müsstest Du Doch rausfinden, woher die ganzen Parameter kommen...

Edit 1:
Übrigens, müsstest Du nicht dbexpora40.dll benutzen, wenn die Anwendung mit RAD Studio 2009 compiliert wurde? Irgendwann gab's doch mal ne Umstellung beim Treibermodell von dbExpress. Ich habe hier ne Delphi 2007-Anwendung mit dem DevArt-Treiber, ich muss dbexpora40.dll mit ausliefern.

Edit 2:
In die Registry musst Du übrigens nichts eintragen, einfach die DLL mit ausliefern.

hoika 12. Mai 2010 14:09

Re: dbexpora.dll kann nicht geladen werden
 
Hallo,

suche mal unter Programme nach

dbxdrivers.ini und dbxconnections.ini.

In der dbxconnections.ini sollte deine DB stehen.

Hier noch ein Link
DBExpress


Heiko

TilmannRuessel 12. Mai 2010 14:10

Re: dbexpora.dll kann nicht geladen werden
 
Ich habe folgendes im SourceCode gefunden :

tdatabase : database1 :

AliasName : telefon_dwh
Connected : NULL
Databasename : ORA_DWH
driverName : NULL
exclusiv : NULL (False)
HandleShared : NULL (False)
keepConnection : TRUE
LoginPrompt : NULL (False)
Name : Database1
Params :

DATABASE NAME =
USER NAME = telefon
ODBC DSN = telefon_dwh
OPEN MODE = READ/WRITE
SCHEMA CACHE SIZE=8
SQLQRYMODE =
LANGDRIVER =
SQLPASSTHRU MODE=SHARED AUTOCOMMIT
SCHEMA CACHE TIME =-1
MAX ROWS=-1
BATCH COUNT=200
ENABLE SCHEMA CACHE=FALSE
SCHEMA CACHE DIR =
ENABLE BCD = FALSE
ROWSET SIZE = 20
BLOBS TO CACHE = 64
PASSWORD = telefon

ReadOnly : NULL (False)
SessionName : default
Tag : 0
TransIsolation : tiReadCommited

======= Und dazu die SQLConnection1 ================================================== ======

Connected : Null (False)
ConnectionName : Oracle
Driver Oracle
-- BlobSize -1
Database : telefon.world
...
PassWord : telefon
Username : telefon

GetDriverFunc : getSQLDriverORACLE
KeepConnection : TRUE
LibraryName : dbexpora.dll
VendorLib : OCI.DLL

======================= TNSNAMESORA ================================================== =============


Hier finde ich den eintrag

Telefon =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 150.30.5.144)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dwh)
)
)

Habe ich unter database1 DATABASE NAME u.U. "Telefon" einzutragen ? oder die TNS Names um "telefon_dwh" zu erweitern ?

Zum Haltepunkt : Ich habe offenbar noch nicht alle Units zusammen, so dass ich das Programm leider noch nicht gar debuggen kann. Muss ich da was beachten bei einer Umstellung ?

Ich denke die dbexpora40.dll tuts auch (wollte das Programm ja haben !)

Voll Hoffnung doch noch die Telefonabrechnung zum Laufen zu bringen warte ich auf Antwort !

sirius 13. Mai 2010 08:49

Re: dbexpora.dll kann nicht geladen werden
 
Deine Datenbank heißt auf diesem Rechner "telefon".

Kannst du denn über ein anderes Program (bspw den SQL Developer) oder telnet die Datenbank erreichen?

TilmannRuessel 17. Mai 2010 08:17

Re: dbexpora.dll kann nicht geladen werden
 
Ich kann über SQL - Plus und meinen TOAD auf "telefon" zugreifen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 Uhr.

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