Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Struktur in eine leere Datenbank einrichten mit ADO? (https://www.delphipraxis.net/196781-struktur-eine-leere-datenbank-einrichten-mit-ado.html)

SearchBot 19. Jun 2018 15:19

Datenbank: MS SQL Express • Version: 2014 • Zugriff über: ADO

Struktur in eine leere Datenbank einrichten mit ADO?
 
Hallo :-D

Ich bin neu mit Datenbanken. Bisher habe ich alles mit StringGrids und StringLists lösen können.
Mein Kollege hat auf dem Server eine SQLexpress 2014-Datenbank erstellt und ich habe nun die Aufgabe, dort komplexe Daten abzulegen (zunächst die bisher erzeugten StringGrid-Dateien).

Ich habe hier nur die Delphi Berlin Professional-Version, daher kann ich scheinbar nicht mit FireDAC auf die MSSQL zurgreifen, weil mir FireDAC.Phys.MSSQL.TFDPhysMSSQLDriverLink fehlt...

Zwischenzeitlich habe ich ja schon einiges gelesen und konzentriere mich auf ADO.
So habe ich mit TADOConnection.ConnectionString das Ding ohne Fehlermeldung auf Connected:=true gesetzt. :cyclops:
("Initial Catalog=XYZ" ist der Beispiel-Datenbankname)

Jetzt weiß ich aber nicht weiter - die Databank ist ja komplett leer. :pale:
Wie bringe ich da jetzt die Struktur rein (also die Datenfelder und ihre Typen drinnen anlegen (die ich noch nicht ganz fertiggedacht habe))?

Kann die Struktur zur Entwurfszeit schon in der IDE generiert werden oder nur zur Laufzeit?
Wie kann ich dann diese Struktur überprüfen (bin es gewohnt, die erzeugte Datei anzusehen - bei einer DB ist das ja eher nicht möglich)?

Ich vermute, daß ich da was mit TADODataSet machen kann?
Dort finde ich FieldDefs und dort wieder ChildDefs und die kann ich weiter zur Entwurfszeit zusammenklicken - aber ist das der richtige Weg, werden die dann so automatisch gespeichert...? :pale:
Oder muss ich das mit TADOCommand.Commandtext und SQL-Befehlen machen?
:coder2:

TigerLilly 19. Jun 2018 15:41

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Ja, da musst du mit TADOCommand und SQL Befehlen arbeiten:
https://docs.microsoft.com/en-us/sql...ql-server-2017

Oder du erstellst die Tabellen mit MSSQL Management Studio und benutzt sie dann in deinen TADODataSets.

Mischform. Du nimmst das MSSQL Management Studio, erstellst deine Tabellen, lässt dir ein Script erstellen + das führen dann deine TADOCommands aus. Vorteil: Du kannst die DB so jederzeit neu erstellen lassen.

Rollo62 20. Jun 2018 08:52

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Delphi Berlin Professional-Version
Damit ist nur lokale DB, kein C/S mit FD möglich

Bernhard Geyer 20. Jun 2018 09:13

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

Zitat von Rollo62 (Beitrag 1405261)
Zitat:

Delphi Berlin Professional-Version
Damit ist nur lokale DB, kein C/S mit FD möglich

Macht doch eh schon ADO

Zitat:

Zwischenzeitlich habe ich ja schon einiges gelesen und konzentriere mich auf ADO.

haentschman 20. Jun 2018 09:31

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Moin...:P
Zitat:

Zwischenzeitlich habe ich ja schon einiges gelesen und konzentriere mich auf ADO.
...mit den UniDac fährst du mit Sicherheit besser. Das Geld ist die beste Investion ever. ADO hat so seine Eigenheiten und Bugs...Wenn dann richtig. :thumb:

Zum Thema:
wie schon erwähnt: Die ganze Datenbankstruktur als SQL Script ablegen...für jedes DBMS ein separates. :thumb:

hoika 20. Jun 2018 09:53

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Hallo,
wir erzeugen nicht vorhandene Tabellen direkt über SQL.
Create Table X

usw.

Wir haben aber nie eine komplett leere DB, sondern immer einen aktuellen Stand,
den wir bei einer Neuinstallation mit ausliefern.
Sobald aber das nächste Programm-Update ansteht, sind wieder Alter Table Add - Befehle dabei, falls nötig.

rokli 20. Jun 2018 12:55

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Hallo,

natürlich lässt sich die ganze SQL-DDL (Data Definition Language) in Delphi programmieren ... ist sicherlich eine gute Übung; aber ...

Warum verwendest Du dafür nicht die von Microsoft bereitgestellten Tools wie das Microsoft SQL Server Management Studio, was für diese Aufgaben gebaut wurde ... und darüber hinaus auch für die Kontrolle des SQL Server, fürs Backup und vieles mehr gedacht ist?? https://docs.microsoft.com/de-de/sql...ql-server-2017

Und wenn Du MS nicht magst, kannst Du z. B. den DBeaver verwenden https://dbeaver.io/

Da gibts natürlich noch unzählige andere gute und nicht so gute Tools im Netz, die Dir die Verwaltung des DB Server abnehmen, bzw. unterstützen.

Gruß

haentschman 20. Jun 2018 13:14

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Zitat:

natürlich lässt sich die ganze SQL-DDL (Data Definition Language) in Delphi programmieren ... ist sicherlich eine gute Übung; aber ...
8-) ...wir meinen z.B. mit dem Management Studio die Datenbank designen und dann das SQL Script exportieren. Dann kann man die Datenbank programmtechnisch einfach erzeugen.

rokli 20. Jun 2018 13:21

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
haentschman, dafür bekommst Du ein 8-) (Daumenhoch gibts ja leider nicht)

SearchBot 20. Jun 2018 13:23

AW: Struktur in eine leere Datenbank einrichten mit ADO?
 
Hallo und danke für den regen Zuspruch :thumb:

Dieses Server Management Studio ist ja toll, danke für diesen Tipp.
Weiß zwar noch nicht, wie ich da jetzt meine Datenstruktur hineinbekomme, aber habs ja auch erst installiert :wink:
Zum späteren Nachsehen, wie wo was gespeichert wird, ist es für mich sicher das optimale Tool.

Und wie kann ich dann diesen Script generieren lassen ("Die ganze Datenbankstruktur als SQL Script ablegen.")?

Im SMS, dort im OI-Baum steht "Tabellen" und wie ich da drauf gehe, geht ein Editor auf, wo ich den "Spaltennamen", "Datentyp" und "NULL-Werte zulassen" eintragen kann - ich vermute mal, das ist das, was ich gesucht habe. Jetzt googel ich mir noch die Datentypen zusammen... :)

Wie ist das dann mit Delphi, wenn ich die ADO-Connection aktiviere, liest es dann die Struktur automatisch oder muss ich den ADO-Komponenten nochmal alles erklären?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:00 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf