Einzelnen Beitrag anzeigen

BigAl

Registriert seit: 6. Sep 2008
Ort: Kehl
495 Beiträge
 
Delphi 12 Athens
 
#1

SDAC Connection...

  Alt 27. Okt 2021, 14:20
Datenbank: MS SQL • Version: 15.00.2080 • Zugriff über: SDAC
Hallo zusammen,

ich arbeite derzeit an einem Projekt, welches Daten auf einem MS SQL-Server verwaltet. Für den Zugriff nutze ich die SDAC-Komponenten von Devart. Ich habe damit folgende Probleme die ich mir einfach nicht erklären kann bzw. mich nicht daran erinnere, dass das früher auch so war:

- Es wird ein Datenmodul erstellt. Dieses wird in den Projektoptionen als erstes Form initialisiert (steht ganz oben über dem Hauptformular)
- Im Datenmodul wird eine Connection definiert (TMSConnection)
- Ein neues Formular wird erstellt. Dieses wird nicht automatisch erzeugt (was jedoch irrelevant ist).
- In der uses-Liste des Formulars wird die Unit des Datenmoduls aufgenommen (damit die Connection verfügbar ist).
- Auf dem Formular wird ein Query definiert welches die Connection aus dem Datenmodul verwendet.
- Das Query wird auf "Active" gesetzt.

Soweit erst mal alles Standard. Nun habe ich folgende beiden Probleme:

1. Wenn ich die Applikation starte steht das "Active" der Query auf "False". Ich kann diese aber Problemlos in Create der Form auf "True" setzen. Sollte die nicht automatisch auf "True" sein wenn es zur Design-Time auf "True" war?

2. Wenn ich das Projekt neu öffne (z.B. nach dem Start von Delphi) erhalte ich für alle aktiven Zugriffskomponenten (Query, Table, ...) die Meldung "Connection is not defined". Die Formulare werden zwar geöffnet aber Datenzugriffe sind inaktiv (Active = False).

Ich habe nun schon eine Weile nichts mehr mit Datenbanken gemacht und bin mir daher etwas unsicher. War das früher auch schon so? Muss ich zur Laufzeit jede benötigte Datenquelle wieder explizit öffnen? Konnten auch früher schon geöffnete Datenquellen nicht im Projekt gespeichert werden? Das Verhalten ist in Delphi 10.4 und Delphi 11 gleich...

Danke für eure Hilfe

Alex
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)
  Mit Zitat antworten Zitat