Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Zugriff auf Sybase AnyWhere SQL-Datenbank (https://www.delphipraxis.net/3014-zugriff-auf-sybase-anywhere-sql-datenbank.html)

Berserker 18. Feb 2003 13:29


Zugriff auf Sybase AnyWhere SQL-Datenbank
 
Hallo.

Ich stehe mal wieder vor dem Problem auf eine SQL-Datenbank zuzugrifen.
Diese basiert auf Sybase SQL Anywhere 7.0. (von Lexware)

Wir benutzen hier Lexware Pro welches als DB Sybase verwendet.
Nun versuche ich ein Tool zu schreiben, mit dem ich Daten in diese Datenbank schreiben und auch auslesen kann.

Dazu habe ich die NativeDB Komponente verwendet. Aber leider komme ich nicht weiter.

Entweder ich bekomme immer nur Datenbank-Server läuft nicht oder irgendwelche Exceptions.

Kann mi jemand in dieser Angelegenheit behilflich sein?

MfG, Rony

xbu58 19. Feb 2003 00:56

Hallo Berserker

Ich setze die ADO-Komponenten für den Zugriff auf SQLAnywhere ein, wobei ich "Microsoft OLE DB Provider for ODBC Drivers" verwende. Um den Zugriff zu Testen, kannst Du auf unserer Homepage (VID-Software GmbH) das Datenbank-Adminwerkzeug "SQLArtist" herunterladen. Dieses unterstützt MS-SQLServer 2000 und Sybase SQLAnywhere ab Version 7.

Gruss
Xaver

ChrisF 19. Feb 2003 07:46

Hi,

also ich greife auf die SQL Anywhere sowohl mit den ADO als auch mit den BDE Komponenten zu. Klappt beides.
Was du brauchst ist ein ODBC-Alias.

Zugriff mit ADO:
Als Connection String übergibst du etwas in der Art
Delphi-Quellcode:
Provider=MSDASQL.1;Password=[i]<pass>[/i];Persist Security Info=True;User ID=[i]<username>[/i];Data Source=[i]<Name der Datenquelle>[/i]
Dann sollte eigentlich alles Fluppen und du kannst z.B. mit ADOQuery zugreifen.

Chris

bis 19. Feb 2003 20:50

Hi,

warum über ODBC ? Das ist doch der unsicherste und komplizierteste Weg und die Perfomance ist auch nicht gerade die beste. Ich benutze für die folgenden SQL - Server (MySQL, Sybase, Oracle, Interbase, IBM DB2, PostgreSQL, MsSQL) nur die Komponenten von ZesoLib.

Ich bin sehr damit zufrieden und habe bis jetzt nur gute Erfahrungen damit gemacht.

xbu58 20. Feb 2003 06:08

Liste der Anhänge anzeigen (Anzahl: 1)
Hallo

Ich habe das mit der Performance mal angeschaut. Wollte es wirklich mal wissen. Dazu habe ich die ZesoLib heruntergeladen. Dann habe ich ein Testprogramm (siehe Attachment) gemacht. In diesem wird einerseits mit ZesoLib und anderseits mit ADO (über den Microsoft OLE DB Provider for SQL Server) auf einen MS-SQLServer zugegriffen. Dann messe ich die Zeit für die Ausführung eines sehr einfachen Scripts:
Code:
SELECT TOP 1000 *
FROM CRB_NPK2510
Nun hier die ernüchternden Ergebnisse:
ZesoLib (Ohne Ausgabe der Daten) 60 ms
ADO (Ohne Ausgabe der Daten) 60 ms

ZesoLib (Mit Ausgabe der Daten) 1872 ms
ADO (Mit Ausgabe der Daten) 1862 ms

Ich frage mit deshalb, warum soll ich also wechseln? Ich meine es ist ja schön und gut, dass ZesoLib gleich langsam wie ADO ist. Aber dass ich für jeden Zugriff auf eine andere Datenbank eine andere Komponente benötige ist ja wirklich von gestern :lol:

Also ich muss sagen, da bleibe ich bei ADO!

Gruss
Xaver

bis 20. Feb 2003 09:24

Den Performancevorteil siehst Du ja auch nicht bei solchen kleinen Sachen. Der Vorteil kommt erst zu tragen bei größen Datenbanken und komplexeren Abfragen. Aber wenn Dir das reicht ist das ja in Ordnung. Ich habe ja nur einen Vorschlag gemacht, da ZeosLib alle größeren gängigen Datenbanken die auf dem Markt sind abdeckt.

xbu58 21. Feb 2003 05:23

Hallo bis

Ich denke, ich arbeite mit recht grossen Datenbanken. Immerhin sind in der Tabelle, auf welcher ich den Test gemacht habe 1,5 Mio Datensätze. Die Datenbankgrösse ist bei den meisten Kunden über 500 MB und die sind in 240 Tabellen abgelegt. Ist natürlich noch klein, wenn man das vergleicht mit Datenbanken welche z.B. bei Telekoms einsetzt werden. Aber bei diesen Kunden werden Realtime-Daten in diese Datenbank gespeichert. Da werden bei einem Kunden z.B. die Ereignisse von 180 Webmaschinen gespeichert, wobei jede Maschine pro Min mindestens 10 Ereignisse absendet. Dabei muss natürlich noch der gesamte Datenverkehr von Seiten der Anwender reibungslos abgehandelt werden und das alles auf einem Pentium III Server. Ich denke, dass ich da schon ein klein wenig auf die Performance schauen musste. So wird z.B. die gesamte Verbuchung der Realtime-Daten über die Native-Library vom SQL-Server gemacht. Der Geschwindigkeitsvorteil ist dabei ca. 20% gegenüber der ADO-Komponenten und ca. 150% gegenüber der BDE.

Wie Du siehst habe ich mir schon etwas Gedanken gemacht, als ich das Test-Programm zusammen gestellt habe. Ich bin mir recht sicher, dass die Zeoslib intern auf das gleiche Library-Interface zugreift wie die ADO-Komponenten. Da ein Teil in DLL's abgelegt ist, wäre das recht gut möglich. Deshalb ist auch kein grosser Geschwindigkeitsunterschied vorhanden.

Gruss
Xaver

wemu 29. Apr 2003 14:48

Hallo,

habe gerade Berserkers Frage nach dem Connection String für den Zugriff auf die Sybase Datenbank, angeschlossen an den Lexware-Client (professional edition) gelesen. So viel ich weiß, gibt Lexware die User-ID und das Kennwort für den Zugriff auf die Datenbank nicht bekannt. Lexware betrachtet Client und Server als "geschlossenes System". Man muß also den Connection String seiner eigenen Lizenz erst knacken, wenn man auf die Sybase-Datenbank direkt, also ohne Lexware-Client, zugreifen will. Ich hab´s leider noch nicht geschafft.
Weiß jemand mehr dazu ?

Beste Grüsse

Wilfried

Berserker 29. Apr 2003 17:07

Sybase Kram
 
Soviel ich weiss legt die Installation eine ODBC-Verbindung an.

Evtl könnte man es da Probieren in die DB einzukommen.

Ich werde es heute abend mal versuchen.

MfG, Berserker

Berserker 29. Apr 2003 22:55

Zitat:

Zitat von bis
Hi,

warum über ODBC ? Das ist doch der unsicherste und komplizierteste Weg und die Perfomance ist auch nicht gerade die beste. Ich benutze für die folgenden SQL - Server (MySQL, Sybase, Oracle, Interbase, IBM DB2, PostgreSQL, MsSQL) nur die Komponenten von ZesoLib.

Ich bin sehr damit zufrieden und habe bis jetzt nur gute Erfahrungen damit gemacht.

Hi.

Ich wollte es gerade mit der ZEOS Lib probieren jedoch will er eine DLL-Datei welche ich nicht habe. LIBSYBDB.DLL eine aus dem NEtz funktioniert leider nicht. Dann wollte er noch mehr DLL-Files :(

Hast du die DLL-Files evtl.?

MfG, Ronny


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