Datenbank: Firebird • Version: 2.5 • Zugriff über: DBExpress
DBExpress und View
Ich habe in einer Datenbank eine View definiert (v_Test).
Im Daten-Explorer kann ich die View-Daten anzeigen lassen. Also Script wird "select * from v_Test" angezeigt. Wenn ich die View auf ein DataModule ziehe, wird ein SQLDataSet erzeugt, das sich aber nicht aktivieren lässt: "Tabelle v_Test unbekannt". Auch als Query komme ich nicht weiter. Ich kann das natürlich auch als normale Query von den Tabellen ausführen, aber sollte das nicht auch direkt mit der View gehen? |
AW: DBExpress und View
Vielleicht ein Berechtigungsproblem?
Welcher User hat den View erzeugt? Welcher User öffnet ihn im Datamodule? Wenn es der gleiche User war, sollte es natürlich gehen. |
AW: DBExpress und View
Alles SYSDBA.
Ich versuche mal noch eine andere View... |
AW: DBExpress und View
Nächste Vermutung wären Hochkomma oder Groß/Kleinschreibung im Viewnamen oder sowas beim Anlegen des Views oder eine gewisse Trägheit der IDE (gecachete Repositorydaten)
Wie sieht das Statement zur Viewerzeugung aus? |
AW: DBExpress und View
wie wäre es mit dem falschen Schema?
sind denn die vorhandenen Tabellen erreichbar? gruß K-H |
AW: DBExpress und View
Liste der Anhänge anzeigen (Anzahl: 3)
Ich habe die View neu mit einem anderen Programm (Rapid SQL XE3) angelegt, mit dem gleichen Effekt.
Die View lässt sich in Rapid SQL und dem Daten-Explorer ausführen, aber nicht im Delphi-Projekt... |
AW: DBExpress und View
Bei mir sieht die View-Erstellung (gleiche Datenbank-Version) z.B. so aus:
Code:
Ob das mit deinem Problem zusammenhängt, daß du zuerst das View löschst und danach gleich wieder mit demselben Namen erstellst (und vermutlich kein Commit dazwischen), weiß ich nicht. Aber ich verwende andere DB-Komponenten (FibPlus), und dabei habe ich eine Besonderheit festgestellt, die mir nach kurzer Zeit einleuchtete:
CREATE OR ALTER VIEW A_CODELISTE(
CODE_INDEX, CODE_TITEL, CODE_SPRACHE, CODE_KATEGORIE, CODE_CODE, CODE_BESCHREIBUNG, CODE_MARKIERT) AS select CODELISTE.IDX_CODELISTE, CODELISTE.TITEL, CODESPRACHE.SPRACHE, KATEGORIE.K_NAME, CODELISTE.CODE, CODELISTE.BESCHREIBUNG, CODELISTE.MARKIERT from CODELISTE inner join CODESPRACHE on CODESPRACHE.IDX_CODESPRACHE = CODELISTE.SPRACHE inner join KATEGORIE on KATEGORIE.IDX_KATEGORIE = CODELISTE.KATEGORIE ; Neben der Select-SQL darf das entsprechende Dataset nur noch eine Refresh-SQL enthalten, sonst funktioniert es nicht. Insert-, Update- und Delete-SQL müssen leer bleiben, weil ein View immer ReadOnly ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:18 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