AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Struktur in eine leere Datenbank einrichten mit ADO?
Thema durchsuchen
Ansicht
Themen-Optionen

Struktur in eine leere Datenbank einrichten mit ADO?

Ein Thema von SearchBot · begonnen am 19. Jun 2018 · letzter Beitrag vom 20. Jun 2018
Antwort Antwort
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 11:55
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ß
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#2

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 12:14
Zitat:
natürlich lässt sich die ganze SQL-DDL (Data Definition Language) in Delphi programmieren ... ist sicherlich eine gute Übung; aber ...
...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.
  Mit Zitat antworten Zitat
rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
302 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 12:21
haentschman, dafür bekommst Du ein (Daumenhoch gibts ja leider nicht)
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#4

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 12:23
Hallo und danke für den regen Zuspruch

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
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?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#5

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 12:34
Script erstellen:

1. siehe Bilder (nur Struktur)
2. ggf. Default Datensätze als INSERT in das Script integrieren (Achtung! ggf. Indentities (sprich Autoinc. Werte) anpassen)
...Fertsch.

Nachtrag:
Zitat:
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?
...nein. Das sollten die Komponenten mitkriegen. Du mußt nur die Connection verbinden.

HINWEIS:
Zitat:
ADO-Connection aktiviere
Niemals im Objektinspektor sondern zur Laufzeit!
Angehängte Grafiken
Dateityp: png 1.png (46,2 KB, 21x aufgerufen)
Dateityp: png 2.png (65,2 KB, 15x aufgerufen)
Dateityp: png 3.png (34,4 KB, 16x aufgerufen)
Dateityp: png 4.png (40,3 KB, 16x aufgerufen)
Dateityp: png 5.png (46,0 KB, 17x aufgerufen)

Geändert von haentschman (20. Jun 2018 um 12:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 13:53
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?
Wie meinst Du das?
Natürlich mußt Du in Deiner Query die benötigten Tabellen und Felder nochmals angeben.
a la
SQL-Code:
select Name
from tab1 join tab2 (tab1.id=tab2.tab1_id)
where Stadt='Hamburg'
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
328 Beiträge
 
Delphi 12 Athens
 
#7

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 14:31
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?
Wie meinst Du das?
Weil ich ja am Anfang entdeckt habe, daß ich da...
Zitat:
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...?
Oder muss ich das mit TADOCommand.Commandtext und SQL-Befehlen machen?
Wenn die dann beim Connect angelegt werden, wäre ich schon froh.
Klar, die Querys muss ich dann über SQL machen, aber so weit bin ich ja noch nicht

1. siehe Bilder (nur Struktur)
2. ggf. Default Datensätze als INSERT in das Script integrieren (Achtung! ggf. Indentities (sprich Autoinc. Werte) anpassen)
...Fertsch.
Danke, das ist ja richtig tutorial!

HINWEIS:
Zitat:
ADO-Connection aktiviere
Niemals im Objektinspektor sondern zur Laufzeit!
Geht aber, warum niemals?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.436 Beiträge
 
Delphi 12 Athens
 
#8

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 14:47
Zitat:
Geht aber, warum niemals?
Dann wärst du der Einzige den Spagat zwischen Auslieferung und Enwicklungsumgebung hinkriegt.

Ganz grob...
Stell dir vor du entwickelst auf deinem Laptop. Der Datenbank Zugang liegt in einer INI (Datenbank auf Laufwerk F für die Auslieferung). Die Connection Properties sind im Objektinspector eingetragen (Datenbank auf Laufwerk X des Laptops) und Active auf True gesetzt.
Was passiert? Deine Anwendung grinst dich mit einem Fehler an obwohl in der INI das Laufwerk F eingetragen ist. Ursache: Mit dem Laden der Connection Komponente (Datenmodul Create ect.) wird die Connection auf True gesetzt und die Datenbank auf dem verkehrtem Laufwerk (anderer Computer) gesucht. An diesem Zeitpunkt ist die INI noch gar nicht geladen...

...deshalb NEVER Active auf True zur Designzeit.

Geändert von haentschman (20. Jun 2018 um 14:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#9

AW: Struktur in eine leere Datenbank einrichten mit ADO?

  Alt 20. Jun 2018, 15:07
...deshalb NEVER Active auf True zur Designzeit.
Naja. Richtig muss es heißen: Kein Compile/Build mit Active=True. Denn natürlich muss man um zB Feldefinitionen auszulesen oder zu aktualisieren die Datenbank im Entwurfsmodus connecten. Aber + da hast du recht - das darf nicht drin bleiben. Bei den GExperts gibt es einen Experten, der das unterstützt, der setzt für zB TDataset vor dem compile connected auf false.
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 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