AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zugriff auf Sybase AnyWhere SQL-Datenbank

Zugriff auf Sybase AnyWhere SQL-Datenbank

Ein Thema von Berserker · begonnen am 18. Feb 2003 · letzter Beitrag vom 9. Mär 2006
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#1

Zugriff auf Sybase AnyWhere SQL-Datenbank

  Alt 18. Feb 2003, 14:29
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
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 19. Feb 2003, 01: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
  Mit Zitat antworten Zitat
ChrisF

Registriert seit: 22. Nov 2002
Ort: Bonn
14 Beiträge
 
Delphi 5 Enterprise
 
#3
  Alt 19. Feb 2003, 08: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
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
  Mit Zitat antworten Zitat
bis
(Gast)

n/a Beiträge
 
#4
  Alt 19. Feb 2003, 21: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.
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 20. Feb 2003, 07:08
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

Also ich muss sagen, da bleibe ich bei ADO!

Gruss
Xaver
Angehängte Dateien
Dateityp: zip test.zip (2,6 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
bis
(Gast)

n/a Beiträge
 
#6
  Alt 20. Feb 2003, 10: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.
  Mit Zitat antworten Zitat
xbu58

Registriert seit: 10. Dez 2002
Ort: Bäretswil / Schweiz
121 Beiträge
 
Delphi 7 Enterprise
 
#7
  Alt 21. Feb 2003, 06: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
  Mit Zitat antworten Zitat
wemu

Registriert seit: 29. Apr 2003
1 Beiträge
 
#8
  Alt 29. Apr 2003, 15: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
  Mit Zitat antworten Zitat
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#9

Sybase Kram

  Alt 29. Apr 2003, 18:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Berserker
Berserker

Registriert seit: 15. Dez 2002
Ort: Chemnitz
164 Beiträge
 
Delphi 6 Professional
 
#10
  Alt 29. Apr 2003, 23:55
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:28 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