![]() |
Datenbank: Oracle • Version: 8? • Zugriff über: ODBC
ODBC auf Oracle DB
Hallo, ich muß aus einem Programm, das eine Oracle Datenbank verwendet daten auslesene (das Programm wird ersetzt, und nun muß ich die daten in unsere Firebird DB übertragen)
nur habe ich probleme mit dem ODBC Treiber bzw. mit dem System von Oracle das ganze ist anscheinend ein Oracle8bzw OraHome92 System als ODBC Treiber ist da ein "ODBC Oracle in OraHome92" drauf da wird ein TNS Service Name abgefragt, nun weiss ich nicht was ich da eingeben muß? den Server alleine kanns ja nicht sein, ich muß dem ja die Datenbank mitangeben Bekomme dann immer Fehlermeldungen wie "Servicename konnte nicht aufgelöst werden", "Listener nicht aktiv" ... kann mir da wer tipps geben, auf was ich da achten muß? gibt es für oracle default benutzer? (Wie heißt der administrator name und wie ist da default password?) habe da einige Namen gelesen (in scripts und logs und co) : Administrator, manager, oradb, SYSDBA .... sind das standardusernamen/passwort wenn ja wie gehören die zusammen. leider bekommen wir keine Hilfe/Support von der alten firma, die das system damals dort installiert haben ... |
Re: ODBC auf Oracle DB
Hallo,
grundsätzlich greift der ODBC-Treiber nur auf den "Oracle-Client" durch (via SQL*NET). Dieser muss sauber installiert und konfiguriert sein. In Oracle muss folgendes angegeben werden: Host bzw. Server : IP-Adrsse oder aufgelöster Name Port : Normalerweise 1521 oder 1526 Instanz bzw. SID : Max. vierstelliger Name der Datenbank-Instanz (unter einer Datenbank können mehrere "Instanzen" laufen, z.B. ORCL usw.) Das ganze bekommt einen Namen, der dann in der ODBC-Konfiguration angegeben wird. Wird der angegebene Name in der SQL*NET Konfiguration nicht gefunden, dann kommt es zu der beschriebenen Fehlermeldung. Der Administrator-Benutzer ist "system" mit dem Standard-Passwort "manager". Hoffe es hilft und viele Grüsse Thomas |
Re: ODBC auf Oracle DB
Hallo!
Wenn Du nicht unbedingt über ODBC auf Oracle Zugreifen musst, würde ich Dir eher die kostenlosen NOCI Komponenten empfehlen. Diese würde man über folgenden Link downloaden können. ![]() Als kostenpflichtige Alternative bieten sich aber auch die CoreLabs Komponenten an. Wenn ich mich richtig erinnere, brauchen die dann keinen installierten und eingerichteten Oracle Client. |
Re: ODBC auf Oracle DB
danke mal für die infos
möchte eigentlich keine zusatz komponenten isntallieren, da mein einlese programm mit odbc umgehen kann, und dieses nur einmal für die umstellung durchgeführt werden muß, danach nie wieder. Das ganze wird direkt am Server ausgeführt - da läuft auch der Oracle Server bei den Scripts habe ich die SID immer wieder gelesen, aber die wurde immer mit test oder echt angegeben (und nciht einer 4 stelligen zahl) es laufen auch zwei dienste OracleServiceTest und ORacleServiceEcht - das sind die zwei datenbanken die echt und die test datenbank. wie kann ich mir die konfiguration des Oracle-Client anschauen/ändern - hab hier ne menge programme gefunden, aber irgendwie ... hätte probiert einen LISTENER zu installieren und konfigurieren (habe dann einen dienst dazu bekommen, der sich aber nicht starten lässt :( ) also beduetet das, das ich das was ich im ODBC Treiber in das TNS ServiceName eingebe muß zuerst im Client konfigurieren muß (und dieser ServiceName ist auch das, was ich bei den mitgeliferten SQL Programmen von Oracle eingeben muß)? |
Re: ODBC auf Oracle DB
Schau Dir dazu den Net8 - Assistent oder Net8 Configuration Wizzard an, das sollte weiterhelfen.
|
Re: ODBC auf Oracle DB
Zitat:
edit: ich hab mal den "Oracle Enterprise Manager-Konsole, Standalone" aufgemacht, und dort eine neue Datenbank hinzugeügt als Host habe ich den lokalen rechenrname angegeben, den port habe ich auf 1521 gelassen und als SID dann 1521 egal was ich dann für ein username/passowrt eingebe, bekomme immer folgende meldung ORA-12541: TNS: Kein Listener edit2: habe jetzt einen zusätzlichen listener auf dem port 1522 installiert, jetzt kann ich den listener dienst starten aber bekomme noch folgende fehlermeldung "In Verbindungsdeskriptor angegebener SID konnte nich aufgelöst werden" wo finde ich die SID's? Ich weiss nur, das die zwei DB's test und echt heissen, aber einen SID? |
Re: ODBC auf Oracle DB
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo, ich habe mal paar Screenshots im PDF angehängt, wie man einen Listener erstellen könnte. Am Ende ist auch ein Bild von Net8 Assistant vorhanden ... vielleicht ist das ja nur eine andere Bezeichnung für NET Manager.
[Edit] Ich habe ein zweites PDF angehängt wo man sehen kann, wie ich das im NET8 Assistent ausgefüllt habe, vielleicht kannst Du ja Deine Schlüsse daraus ziehen. [/Edit] |
Re: ODBC auf Oracle DB
danke noch mal für deine mühe ...
also den listener habe ich jetzt auch so, und der reagiert auch brav (bekomme jetzt die Fehlermeldung, das er den SID nicht findet) Also vermute ich mal, das der Dienstname noch falsch sein wird oder? Was ist der Dienstname den ich eingeben muß (was bei dir XE ist) ich habe nur gesehen, das in den diensten zwei dienste gestartet werden 1.) c:\oracle\ora92\bin\ORACLE.EXE echt 2.) c:\oracle\ora92\bin\ORACLE.EXE test und da es auch zwei dbs gibt eben eine echt und eine test db habe ich daraus geschlossen, das die so heissen aber ob das jetzt die SID ist oder nicht? wenn ich in dem Manager auf "Dienst testen" klicke :
Code:
Initialisierung des ersten Tests zur Verwendung der Benutzer-Id: scott, Kennwort: tiger
Versuch, die Verbindung mit folgender Benutzer-Id herzustellen: scott Der Test war nicht erfolgreich. ORA-12514: TNS:Listener konnte in Verbindungsdeskriptor angegebenen SERVICE_NAME nicht auflösen Möglicherweise enthalten die Felder einen Fehler, oder der Server ist für eine Verbindung nicht bereit. |
Re: ODBC auf Oracle DB
Standardmäßig nimmt dieses Test Ding als Benutzername Scott und als Passwort tiger, aber ich bezweifle dass Deine Datenbank diese Benutzer kennt. Kannst Du über Button "Anmeldung ändern" ändern (dort wo du das getestet hast).
Du müßtest auf deinem System eine Datei mit dem Namen "tnsnames.ora" haben, die sollte folgendermaßen aussehen. Zitat:
Hast Du dir das Oracle2.pdf schon angeschaut? Hast Du ein Programm, welches so ein Fenster hat? Vielleicht dieser NET Manager? |
Re: ODBC auf Oracle DB
nein, vermute auch nicht, das es diesen benutzer gibt, aber die fehlermeldung sugeriert mir zumindest, das das teil gar nicht so weit kommt um den user anzumelden (habe auch schon die anderen kombinationen ausprobiert, aber kein user/passwort funkt)
ja, mein fenster sieht absolut gleich aus meine große frage ist im moment, was gebe ich als SID bzw als ServiceName an? Kann ich irgendwo rausfidnen, welche am aktuellen Server drauf sind? - suchen im Filesystem oder sonst wie? |
Re: ODBC auf Oracle DB
Ich würde schauen wie Deine Datenbank heißt, dies würd ich als SID verwenden, wenn das nicht klappt, versuch den Namen der Datenbank + '.' + Rechnername wo Datenbank läuft.
Ich muss da auch immer ratespielchen machen. |
Re: ODBC auf Oracle DB
Zitat:
wie gesagt ich habe die zwei dienste gefunden, und rest sind nur vermuteungen ... muß man sonst noch was/wo eisntellen, damit er die verbindung herstellen kann? gibt es irgendwo noch ein einstellungsfile wo SID <-> Dateiname existiert |
Re: ODBC auf Oracle DB
Was gibt denn die "Oracle Enterprise Manager-Konsole, Standalone" an Informationen her? Sieht man dort nicht wie die Datenbank heißt?
|
Re: ODBC auf Oracle DB
nein, die war absolut leer, ich habe da ein paar testeinträge gemacht und rumprobiert ...
aber intitalzustand auf dem server war, das in keinem tool irgendwas eingestellt war, das kein listener installiert war (zumindest war der dienst nicht installiert ...) aber der server und die programme liefen/laufen ohne probleme, kaber in dem programm kann man nichts rauslesen (und es gibt keinen support mehr von dem alten program) |
Re: ODBC auf Oracle DB
hat noch wer irgendwelche ideen, ich verzweifle langsam ... ich bringe diese dummen odbc treiber (und das sql plus oder sonstiges einfach nicht zum laufen)
würde mich freuen, wenn mir noch irgendwer tipps geben kann, wie ich den odbc treiber zum laufen bringen kann ... |
Re: ODBC auf Oracle DB
Hast du überhaupt zugriff auf die Oracle Datenbank ?
Du benötigst aufjedenfall eine Client Installation, zur not auch den Oracle Instand Client, was du noch benötigst ist der sql-developper von oracle, ist auch freeware danach folgende informationen : wie heisst der server, wie ist der port, wie ist der sid, wie ist der benutzername und wie ist das passwort ! wenn du das alles hast pm an mich ! hast du das alte programm mal debuggt oder mit einem sql scanner laufengelassen ? es muss doch ne doku zu dem programm geben, datenbank stuktur und so ? Gruß knollix |
Re: ODBC auf Oracle DB
Also, ich arbeite direkt auf dem Oracle Server
Auf dem Server ist auch (wie auf den Clients) das Programm installiert, das auf die Oracle Datenbank zugreift installiert. Leider sind in keinen der Oracle Modulen (habe fast alles ausprobiert was ich im Startmenü gefunden habe) irgendetwas installiert. Wenn die SID auch namen sind, dann würde ich schätzen das die "test" und "echt" heissen (es gibt dienste mit den namen, und ich hab den namen auch in einigen scripten gelesen mit -SID test usw.) username und passwort habe ich ein paar vorschläge, die es sein könnten, wenn ich mal soweit bin, das er mir sagt, falsches passwort oder falscher username, dann wäre ich ja schon froh (dann könnte ich einfach mal alle varianten ausprobieren) - aber leider bekomme ich schon vorher ne fehlermeldung. nein, für das alte programm gibt es keine doku (zumindest keine doku wie man es installiert oder konfiguriert - auch keine doku über die datenstrukur - nur eine stinknormale programmdokumentation) debuggen kann ich da scshlecht - ist der produktiv server eines kunden |
Re: ODBC auf Oracle DB
Zitat:
was ist den an odbc datenquellen eingerichtet ? Also ich denke du musst erstmal auf die Datenbank, odbc hilft dir erstmal nicht weiter. such mal bitte auf dem server nach einer "tnsnames.ora" und poste die hier ! normalerweise unter C:\oracle\ora92\Network\Admin\tnsnames.ora sollte auch auf jedem der clients zu finden sein. so wie du vorgehst kommst du sicher nicht weiter.... |
Re: ODBC auf Oracle DB
bis jetzt war kjeine ODBC Quelle eingerichtet (da sind jetzt nur meine Spielereien drinnen)
es gab bis jetzt auch keine "tnsnames.ora", die datei hat es gar nicht gegeben ... erst als ich mit den NET8 Assistenten den Listener isntalliert habe und etwas rumgespielt habe, wurde die datei angelegt, und da stehen jetzt halt auch nur meine spielereien drinnen. Das problem, ist, der Oracle Server wurde gar nicht administriert, da wurde vor jahren einmal das programm installiert, und dann nicht mehr administriert ... der kunde dort hat keinerlei infos darüber, und ich muß jetzt "nur" die daten auslesen und in die aktuelle Firebird datenbank reinspielen. Ja, das ganze ist ganz stinknromaler Windows Server |
Re: ODBC auf Oracle DB
Liste der Anhänge anzeigen (Anzahl: 2)
So kannst du das Vergessen !
Wie willst du an die Daten kommen ? Ohne Passwort/User Datenbank/SID geht ja wohl nix installier mal einen sql-monitor und schau dir den datenbankverkehr zwischen client und server an mal nur so ne frage : läuft das alte programm noch nachdem du da auf dem server rumfuschst ? Gruß knollix An sonsten Viel Spass ! |
Re: ODBC auf Oracle DB
also als SI habe ich ja schon geschrieben, das ich "test" und "echt" vermute, da ich diese in den script ausgelesen haben (Da sthet dann -SID test bzw -SID echt und auf dem server ist das programm zweimal installiert einmal eine testversion und einmal eine echtversion)
zusätzlich sehe ich in den Diensten zwei dienste die jeweils einmal Oracle mit "C:\...\oracle.exe test" und "C:\...\oracle.exe echt" starten -> daher vermute ich mal das dies auch die zwei verschiedenen SID sein werden Als USername und passwort vermute ich einfach das dies die Defaulteinstellungen sein werden, habe in den scripts dazu "manager" gesehen, und mit hilfe von hier wird der username dann "system" oder "administrator" sein das problem, ist, das anscheinend das programm irgendwie anders auf oracle zugrieft, wie ich das brauche (und anscheinend auch anders als das Oracle eigene SQL Plus) jetzt muß ich irgendwie dem Rechner beibringen, das dieses SQL Plus und co (damit auch der ODBC Treiber) funktioniert dazu habe ich schon den listener erfolgreich zum laufen gebracht, das momentane problem ist, das der listener die SID noch nicht richtig auflösen kann. ja, das programm läuft noch, da ich ja nur die einstellungen ändere, die das progamm ja selber nicht braucht da ja vorher diese Optionen gar nicht in verwendung waren, da das alte programm ja ganz anders (fragt mich nicht wie) auf oracle zugegriffen hat. |
Re: ODBC auf Oracle DB
Such mal nach einer oci.dll auf den clients, also nicht auf dem server.
es muss bei oracle immer ein client installier sein sonst funzt das ganze nicht gruß mk |
Re: ODBC auf Oracle DB
hmmm ok, könnte ein guter ansatz sein, ich werde das ganze mal an einem client probieren (den Tracer, das SQL Plus, ODBC settings und co) bis jetzt habe ich es immer am server probiert ...
|
Re: ODBC auf Oracle DB
leider nicht :(
der Tracer findet kein programm, habe das programm am server gestartet und auch einmal am client, aber der tracer findet einfach kein laufendes programm diese dll gibt es auch nicht es gibt nur eine "mtxoci.dll" habe im programm noch ein paar infos gefunden :
Code:
[edit]wenn ich die internen Tools von Oracle verwende (SQL Plus, Manager, Assistent), dann loggt der Tracer mit, (aber eben auch nur die Fehler, die ich im Fenster bekomme - kein TNS Listener oder
LIB C:\programme\netexpress\base\lib
ORACLE_HOME C:\oracle\ora92 ORACLE_SID echt
Code:
Class: Error message
Time stamp: 24/09/2007 13:49:58 SQL statement: ORA-12505: TNS: Listener konnte SID in Verbindungs-Deskriptor nicht auflösen. |
Re: ODBC auf Oracle DB
hah
sieht schon mal gut aus, habe jetzt noch ne weile mit dem listener rumgespielt, ein paar lustige sachen umgestellt, mit dem komischen lsnrctl rumgespielt und jetzt kome ich mit der test verbindung schon mal drauf ... gleich mal odbc testen ... aber fürs erste siehts gut aus (es ist einfach absolut nix vom "normalen" ORacle Client hier irgendwo installiert, und das alte programm greift direkt drauf zu ....) |
Re: ODBC auf Oracle DB
so, nächstes problem :(
ich habe den ODBC Treiber am laufen (mit system/manager) ich bekomme auch eine Liste aller Tabellen aber wenn ich dann ein
SQL-Code:
mache bekomme ich immer diesen Fehler (ich weiss jetzt noch nicht, was in der tabelle drinnen ist, aber habe es mal probeweise bei ca. 20 tabellen probiert, ich komme nur auf ein paar system tabellen rauf (sind die mit $) aber keine User Tabelle
SELECT * FROM RELW_D
oder SELECT * FROM "RELW_D" vermute mal, das ich da einen anderen User brauche ... aber warum darf der System (ist ja administrator oder ?) nicht auf die tabellen rauf?
Code:
---------------------------
Dbdesktop --------------------------- [Oracle][ODBC][Ora]ORA-00942: Tabelle oder View nicht vorhanden. --------------------------- OK --------------------------- |
Re: ODBC auf Oracle DB
Versuch es mal mit
SQL-Code:
SELECT * FROM [Schema].[Tabelle]
|
Re: ODBC auf Oracle DB
Zitat:
finde ich das irgendwo raus? oder muß ich das kennen? |
Re: ODBC auf Oracle DB
Liste der Anhänge anzeigen (Anzahl: 1)
das schema ist der besitzer der tabellen.
bitte tuh dir doch den gefallen und installier dir den oracle sql developper, das ist ein dbms programm in java und da kannst du dann mit deinem system/manager alles anschauen was da so da ist. mit dem kannst du die daten auch gleich als sql statements abspeichern, die tabellenstruktur übernehmen und das ganze dann leicht in dein fire[irgendwas] überspielen ! Gruß Knollix |
Re: ODBC auf Oracle DB
Kann es sein das das alte Programm ein COBOL kern hat ?
|
Re: ODBC auf Oracle DB
Zitat:
und jetzt komme ich drauf auf die dinger ... (mit OWNER.TabName) |
Re: ODBC auf Oracle DB
und, wars das ?
Gruß knollix |
Re: ODBC auf Oracle DB
ja, mit OWNER.TabellenName funkt nun alles, kann mit ODBC drauf zugreifen.
danke noch mal an alle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 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 by Thomas Breitkreuz