![]() |
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ß |
Re: Tabellenindices bestimmen
Es kommt hier auf das verwendete DBMS an
|
Re: Tabellenindices bestimmen
Um es genauso genau anzugeben wie der Poster: Kann man alles aus den Systemtabellen abfragen :-)
|
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 ![]() Gute Nacht |
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ß |
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
|
Re: Tabellenindices bestimmen
Zitat:
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ß, |
Re: Tabellenindices bestimmen
Zitat:
|
Re: Tabellenindices bestimmen
[quote="Brainshock"]
Zitat:
(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 ![]() Programmiert in Delphi 5 + ADO Komponenten. |
Re: Tabellenindices bestimmen
Zitat:
Dies ist auch ein Grund wieso MS unter .NET mit ADO.NET wieder einen etwas anderen Ansatz gewählt hat. |
Re: Tabellenindices bestimmen
Zitat:
Die Grundidee aber: "ein Zugriffsschicht für alle Datenbanken" bleibt denoch ein erstrebenswertes Ziel. Die Windows Druckertreiber haben sich auf breiter Front durchgesetzt obwohl die Druckermodelle und Druckersprachen (PCL5, Esc-P, ...) sehr unterschiedlich sind. Leider trifft das nicht auf Datenbanktreiber zu. Es hängt alles nur von den Treibern ab. Das Programmiermodell hinter ADO ist auf jeden Fall ausreichend, alle Arten von Datenbanken (auch nicht-relationale) anzubinden. MS beweist ja mit seinem "Data Transformation Services" dass es möglich ist. (wobei ich vermute, dass MS auf die darunterliegende OLE-DB Schicht zugreift) Was wäre also die Alternative: jeweils eine eigene API zu jeder Datenbank ? Schnell, wenig Installationsaufwand, aber immer begrenzt auf einen DB-Hersteller. Für jede Programmiersprache das Rad (den Zugriff auf die API) erneut erfinden ? |
Re: Tabellenindices bestimmen
Zitat:
Zitat:
|
Re: Tabellenindices bestimmen
Eine Alternativen wäre u.U Zeos oder dbExpress
|
Re: Tabellenindices bestimmen
Naja, wir werden hier leider ein bisschen Offtopic.
Ich glaube das ist mal wieder eine Glaubensfrage, welche Art der Datenbankanbindung man nutzt. ODBC und DLL Hölle kann ich eigentlich nicht bestätigen. ODBC Treiber installiert, DSN Eintrag angelegt und fertig. Die anderen Alternativen sollte man vielleicht mal in einem extra Thread diskutieren. Für die Zukunft würde mich schonmal interessieren, welche die sicherste in Bezug auf Treiberunterstützung und flexibelste (schnellste) Art der Datenbankanbindung ist. Gruß, |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 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-2025 by Thomas Breitkreuz