Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Komponente für sybase (https://www.delphipraxis.net/80287-komponente-fuer-sybase.html)

Merowinger 6. Nov 2006 18:09

Datenbank: sybase • Version: ? • Zugriff über: das ist die Frage

Komponente für sybase
 
Hey DPler,

ich möchte auf ein sybase Datenbank zugreifen über ODBC. Welche Komponente empfliehlt ihr mir. ( Das Login wie es man von BDE her kennt soll möglichst vermieden werden.)

mfg

merowigner

shmia 6. Nov 2006 18:38

Re: Komponente für sybase
 
Du brauchst einen ODBC-Treiber vom Datenbankhersteller. Diese sind fast immer auf der
Installations-CD der Datenbank enthalten.
Ich würde mit ADO-Komponenten arbeiten, dann kannst du später die Datenbank leicht gegen andere tauschen.

mkinzler 6. Nov 2006 18:59

Re: Komponente für sybase
 
http://www.torry.net/pages.php?id=562

Bernhard Geyer 6. Nov 2006 21:15

Re: Komponente für sybase
 
Schau dir auch mal SQL-Direct an

Zitat:

Zitat von shmia
Ich würde mit ADO-Komponenten arbeiten, dann kannst du später die Datenbank leicht gegen andere tauschen.

Das ist Wunschdenken. Willst Du wirklich DB-Unabhängig programmierung mußt du den DB-Zugriff z. B. mittels Bridge-Pattern kaspeln um auch wirklich die SQL-Unterschiede zu verstecken. ADO hilft dir nur dabei das du die gleichen Klassen (wie bei BDE) verwenden kannst und nicht für jede DB gibt es wirklich brauchbare OLE DB Provider.

hronny 6. Apr 2007 13:06

Re: Komponente für sybase
 
Wenn jemand etwas genauere Angaben zu Sybase und Delphi hat, wäre ich dankbar die zu erfahren. Hab auch das Problem das eine Software eine iAnywhere (Adaptive Server Anywhere) benutzt. Leider komme ich mit keiner Komponente weiter. Die ZeosLib könnte auch Sybase öffnen, aber egal welche ich versuche die wollen immer eine DLL die mir fehlt (libsybdb.dll). Ohne die komme ich warscheinlich nicht weiter.
Die CTLibs hab ich auch versucht, da verlangt er eine nicht auffindbare (libcs.dll). Irgendwie steh ich auf dem Schlauch. Es muss doch ohne irgendwelche "optimierten" teuren Komponenten irgendwie möglich sein, eine solche DB öffnen zu können? Es taucht immer in diesem Zusammenhang die "Sybase Open Client DLL" auf, die ich nirgends finde.

mkinzler 6. Apr 2007 13:14

Re: Komponente für sybase
 
http://www.da-soft.com/index.php?opt...=45&Itemid=145

hronny 6. Apr 2007 18:20

Re: Komponente für sybase
 
Die Komponente kannte ich nicht, nur krieg ich die damit auch nicht auf. Vielleicht stell ich mich auch zu dämlich an. Eine lokale Datei xyz.db mit Benutzer: guest und Passwort guest
ohne Server einfach nur lokal

Hab mir mal die Demoversion von ASE9 geladen damit geht es auf. Aber mit Delphi komm ich nicht weiter. Kann man denn nirgends diese ODBC Treiber laden (Sybase Open Client DLL)?

Bernhard Geyer 6. Apr 2007 19:08

Re: Komponente für sybase
 
Zitat:

Zitat von hronny
Die Komponente kannte ich nicht, nur krieg ich die damit auch nicht auf. Vielleicht stell ich mich auch zu dämlich an. Eine lokale Datei xyz.db mit Benutzer: guest und Passwort guest
ohne Server einfach nur lokal

Das wird nicht gehen. Du wirst einen Server benötigen. Sei es auch nur eine Embedded Sever.
Diese "Sybase Open Client DLL" bietet dir nur den zugriff auf diesen (embedded) Server.

hronny 6. Apr 2007 19:23

Re: Komponente für sybase
 
das programm das diese Datenbankdatei erstellt hat, benutzt einen wie oben geschrieben embedded Server. Der Aufruf läuft ganz normal mit
Code:
rtgen8.exe xyz.db
. Dann startet Sybase Anywhere und öffnet einen Port, mit der (nehm ich an) kommuniziert wird. Nun muss ich ja nur noch darauf verbinden, aber das Programm das darauf zugreift hat vermutlich die ODBC Sachen schon mit drin und benutzt keine standard dll.

Bernhard Geyer 6. Apr 2007 19:37

Re: Komponente für sybase
 
Geh mal die DLLs durch. U.u. wurde die DLL nur umbenannt zu Verschleierung des Zugriffes.

hronny 6. Apr 2007 20:21

Re: Komponente für sybase
 
Hat einen Moment gedauert, da man nach jedem fehlgeschlagenen Versuch, Delphi immer terminieren muss.
Hab alle DLLs die ich im Programmordner und dem embedded Serverordner gefunden habe nach system32 kopiert und umbenannt. Leider kann Delphi die nicht starten und bringt:

Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.

mkinzler 6. Apr 2007 20:28

Re: Komponente für sybase
 
Zeig mal etwas Code

hronny 6. Apr 2007 20:44

Re: Komponente für sybase
 
naja Quellcode hab ich noch keinen, hab es bisher mit den VCLs von Zeos und CTLib versucht zu verbinden.

mkinzler 6. Apr 2007 20:49

Re: Komponente für sybase
 
Die Fehlermeldung weist darauf hin, daß auf eine uninitialisierte Referenzvariable zugegriffen wird

hronny 8. Feb 2008 14:35

Re: Komponente für sybase
 
Es ist zwar schon fast ein Jahr her, aber das Problem hat mich leider wieder eingeholt. Habe immernoch keine ODBC-Treiber zu ASA8 und versuche die Datenbank zu öffnen. AnyDAC und SQLDirect wollen "native" die Dateien öffnen, das geht aber nicht da ich keinen ODBC Treiber habe. Gibt es noch andere Möglichkeiten auf eine so alte DB zuzugreifen?

mikhal 8. Feb 2008 16:45

Re: Komponente für sybase
 
Hilft dir das Programmiererhandbuch von Sybase weiter? Dort steht zumindest, wie ODBC programmiert wird. Wenn du keinen ODBC-Treiber besitzt, hast du allerdings schlechte Karten, weil Sybase keine ODBC-Unterstützung mehr bietet und auch keinen Download mehr zur Verfügung stellt.

Grüße
Mikhal

grenzgaenger 8. Feb 2008 22:31

Re: Komponente für sybase
 
schon mal google angeworfen? Bei Google suchenodbc driver sybase download ??? da kommt man dann auf so etwas ... wie hier denn nicht nur der DB hersteller kann ODBC treiber zusammenbasteln ... den link zu einen anderen ODBC hersteller hab ich leider nicht zur hand...

hronny 8. Feb 2008 23:17

Re: Komponente für sybase
 
Zitat:

Zitat von mikhal
Wenn du keinen ODBC-Treiber besitzt, hast du allerdings schlechte Karten, weil Sybase keine ODBC-Unterstützung mehr bietet und auch keinen Download mehr zur Verfügung stellt.

Genau das ist evtl der Punkt. Ich habe keinen ODBC Treiber für die ASA Version 8, und der unten angegebene Link geht theoretisch für Version 10 oder höher und kostet auch ne Menge Geld. Schon irgendwie blöd, das Sybase kein Archiv hat wo eine alte Version drin ist.

Vielleicht kommt ja noch der entscheidende Tip!?

hronny 24. Feb 2008 10:50

Re: Komponente für sybase
 
Ich möchte hiermit mitteilen, das ich die Datenbank aufbekommen habe. Zwar nur mit Gastrechten zum lesen, aber das reicht mir. Eigentlich lag das Ziel direkt vor meinen Augen, nur gesehen habe ich es nie! Um die Datenbank aufzubekommen musste ich nur den Ordner von der bestimmten Software mit dem Sybasezeug drin umkopieren. Dann in der Registry die Passende ODBC-Verbindung manuell erzeugen --- und schwupp-die-wupp geht die Datenbank auch mit ODBC und den ADO-Komponenten auf. *freu*

Danke trotzdem alle für ihre Mithilfe. Bin froh nix extra kaufen zu müssen. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 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