AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQLConnection in Konsolenanwendung
Thema durchsuchen
Ansicht
Themen-Optionen

SQLConnection in Konsolenanwendung

Ein Thema von I_need_help · begonnen am 9. Sep 2004 · letzter Beitrag vom 9. Sep 2004
Antwort Antwort
I_need_help
(Gast)

n/a Beiträge
 
#1

SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 13:52
Hallo zusammen,

da ist wieder ein Pferdefuß in meinem Prog, der mich nicht weiterkommen lässt:

Ich hab eine kleine Konsolenanwendung geschrieben, die eine Verbindung zur Oracle-DB öffnen soll und dort Tabellen auslesen und deren Inhalt in Dateien schreiben soll. Alles soweit sogut, bis auf das "Ding mit der Datenbank".

Per SQLConnection versuche ich, auf die DB zu kommen, erhalte beim Kompilieren allerdings schon die Warnung, dass SQLConnection eventuell nicht richtig initialisiert ist. Folgendes hab ich geschrieben:

SQLConnection := TSQLConnection.Create(SQLConnection); Create will hier ja eine Komponente haben, nur weiß ich an der Stelle leider nicht, welche (deshalb steht bei mir auch SQLConnection in der Klammer).

Beim Ausführen knallt das Programm dann auch an dieser Stelle und wirft eine EAccessViolation (Speicherzugriffsfehler).

Wo ist der Fehler??

Gruß von i_need_help
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 13:58
SQLConnection := TSQLConnection.Create(nil); Du kannst deine neu erzeugte Komponente nicht selbst als Owner angeben.
Abschließend mußt Du selbst mittels
SQLConnection.Free; wieder für die Freigabe sorgen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
I_need_help
(Gast)

n/a Beiträge
 
#3

Re: SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 14:00
Hatte ich mir fast gedacht...

Danke, werd es ausprobieren!!
  Mit Zitat antworten Zitat
I_need_help
(Gast)

n/a Beiträge
 
#4

Re: SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 14:07
Funktioniert! Danke!

Die Warnung im Compiler ist zwar immer noch da (zeigt jetzt auf SQLConnection.Free), aber das Programm läuft ohne Fehler durch und macht auch genau das, was es soll. Das ist erst einmal die Hauptsache.

DANKE DANKE

Gruß i_need_help
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 14:30
Zitat von I_need_help:
Die Warnung im Compiler ist zwar immer noch da (zeigt jetzt auf SQLConnection.Free), aber das Programm läuft ohne Fehler durch und macht auch genau das, was es soll. Das ist erst einmal die Hauptsache.
Etwas Code bitte.

Ich denke Du wirst SQLConnection evtl. in einem if-Zweig anlegen und free auserhalb dieses. Deshalb gibt es auch einen Ausführungszweig, welcher SQLConnection nicht initalisiert.

Falls Du try..finally-Blöcke verwendest

Delphi-Quellcode:
  try
    SQLConnection := TSQLConnection.Create(nil); <- Außerhalb von try...finally-Block!!
    try
      ...
    finally
      SQLConnection.Free;
    end;
  except
    ...
  end;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
I_need_help
(Gast)

n/a Beiträge
 
#6

Re: SQLConnection in Konsolenanwendung

  Alt 9. Sep 2004, 14:40
Es stand in der Tat an ungünstiger Stelle. Doch nun hab ich die Angelegenheit gleich noch viel "eleganter" gelöst: Ich hab den kompletten Datenbank-Connect in eine extra Unit geschrieben. Die Fehlermeldung ist weg!
  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 02:15 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