Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabellenindices bestimmen (https://www.delphipraxis.net/93817-tabellenindices-bestimmen.html)

Brainshock 11. Jun 2007 20:25

Datenbank: SQL Datenbanken • Zugriff über: ODBC

Tabellenindices bestimmen
 
Hallo,

kann mir bitte einer mal ein paar Hinweise geben, wie man über Delphi Tabellenindices bestimmen kann? Also ich brauche die Namen der Indice, deren Spalten, Sortierung, ...

Gruß

mkinzler 11. Jun 2007 20:26

Re: Tabellenindices bestimmen
 
Es kommt hier auf das verwendete DBMS an

Bernhard Geyer 11. Jun 2007 20:30

Re: Tabellenindices bestimmen
 
Um es genauso genau anzugeben wie der Poster: Kann man alles aus den Systemtabellen abfragen :-)

marabu 11. Jun 2007 21:05

Re: Tabellenindices bestimmen
 
Hallo Matthias,

du hast ODBC als deine Zugriffsmethode angegeben. In diesem Fall erhältst du die gewünschten Informationen über die ODBC Catalog Functions - allen voran SqlStatistics(). Voraussetzung ist ein funktionierender (compliant) ODBC 1.0 Treiber.

Gute Nacht

Brainshock 11. Jun 2007 22:13

Re: Tabellenindices bestimmen
 
@marabu

Danke für die schnelle Anwort ich schau es mir mal an.

@DieAnderen

Die DBMS die abgefragt werden sollen wären z.B. Oracle, MS SQLServer, Firebird bzw. Interbase. Ich hätte natürlich gerne was, was unabhängig von Systemtabellen ist, da die ja nun mal von DBMS zu DBMS unterschiedlich sind.

Gruß

Bernhard Geyer 12. Jun 2007 06:30

Re: Tabellenindices bestimmen
 
Soll es 'ne umfangreichere zu verteilenden Anwendung würde ich nicht über ODBC gehen. Die SQL-Unterschiede werden eh durch ODBC nicht gekapselt und ODBC hat auch mit nötige Installation und der vorhandenen DLL-Hölle so sein "Graues Haar bekommen"-Potential

Brainshock 12. Jun 2007 15:16

Re: Tabellenindices bestimmen
 
Zitat:

Soll es 'ne umfangreichere zu verteilenden Anwendung würde ich nicht über ODBC gehen. Die SQL-Unterschiede werden eh durch ODBC nicht gekapselt und ODBC hat auch mit nötige Installation und der vorhandenen DLL-Hölle so sein "Graues Haar bekommen"-Potential
Deine Bedenken sind schon berechtigt. Nur momentan gibt es bei meiner Anwendung 2 Probleme:

1. Es basiert momentan alles auf der Komponentensammlung mODBC und eine Umstellung auf eine andere Komponete kommt auf die Schnelle nicht in Frage.
2. Ich habe noch keine richtige Alternative gefunden. (Sollte ohne BDE laufen und der Treibersupport sollte vorhanden sein).

Gruß,

Bernhard Geyer 12. Jun 2007 15:18

Re: Tabellenindices bestimmen
 
Zitat:

Zitat von Brainshock
2. Ich habe noch keine richtige Alternative gefunden. (Sollte ohne BDE laufen und der Treibersupport sollte vorhanden sein).

Hast du schon mal die Kompos von Core Labs angeschaut? Sind z.B. für MySQL das schnellste was ich bisher gefunden habe. :thumb:

shmia 12. Jun 2007 16:09

Re: Tabellenindices bestimmen
 
[quote="Brainshock"]
Zitat:

2. Ich habe noch keine richtige Alternative gefunden. (Sollte ohne BDE laufen und der Treibersupport sollte vorhanden sein).
Wenn du möglichst viele verschiedene Datenbank ansprechen möchtest, dann ist ADO der beste Weg.
(Ab Delphi 6 Prof. aufwärts; bei Delphi 5 Prof/Ent muss man löhnen)
Für die Datenbanken, für die es keinen ADO Treiber (OLE DB Provider) gibt, gibt es eine Art "Gateway" von ADO nach ODBC.
Durch die vielen Treiberschichten muss man natürlich mit Performanceverlusten rechnen aber man braucht nur eine Art von Komponenten (TADOQuery, TADODataset, TADOConnection).

Du kannst dir ja mal mein Programm ADO Desk anschauen.
Programmiert in Delphi 5 + ADO Komponenten.

Bernhard Geyer 12. Jun 2007 16:13

Re: Tabellenindices bestimmen
 
Zitat:

Zitat von shmia
Wenn du möglichst viele verschiedene Datenbank ansprechen möchtest, dann ist ADO der beste Weg.

Da muß ich mal wiedersprechen. Mit ADO hast du genau die gleichen Probleme: DLL-Hölle und Installationsaufwand. Ist zwar geringer als bei BDE aber immer noch vorhanden. ADO ist optimal für MS SQL Server und Access. Für andere DB's gibt es bessere Lösungen (vor allem wenn spezialfeatures verwendet werden die über ADO mehr schlecht als recht herüberkommen).
Dies ist auch ein Grund wieso MS unter .NET mit ADO.NET wieder einen etwas anderen Ansatz gewählt hat.


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