AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbankverbindung bei Programmstart
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbankverbindung bei Programmstart

Ein Thema von stahli · begonnen am 11. Feb 2007 · letzter Beitrag vom 14. Feb 2007
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 00:08
Dann könnt er ja auch den Create Constructor des Datenmoduls überschreiben, das müßte dann ja noch früh genug sein oder bin ich da am Holzweg?
Günter
Pünktlichkeit ist die Fähigkeit vorherzusagen um wieviel sich der Andere verspäten wird.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#12

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 03:19
Habe hier alles mit Kollege nochmals 2 St. getestet. Wer weiß. 8) Netzwerk, Win98 usw. Fehler : keine. Wer will, kann das testen (siehe Anhang). Voraussetzung : FB ab 1.0. Zip entpacken nach C:\Jelly> . Jelly, nichts für ungut, war halt naheliegend.

Source : zumindest FIBplus-Trial wird gebraucht. Oder TpFIB-Prefixe in IB-Prefixe für IBX umbenennen und neu compileren. Im Jelly-Verzeichnis ist eine DB.INI, wie beschrieben. Dort ist ein Datenbank-Ort beschrieben. Standardmäßig bei C:\Jelly. Die DB heißt "Test.FDB". Eine zweite ist dabei. "Test2.FDB".

Sind diese zwei DB-Dateien in zwei Ordnern und die INI wird dementsprechend angepasst, dann müsste die EXE eigentlich Daten aus diesen verschiedenen Datenbanken anzeigen. Es wird immer der erste Datensatz angezeigt. 111 oder nach Änderung der INI auf die andere Datei 98765432. Beim Programmstart kommt eine showmessage, die noch die benutzte DB anzeigt. Was soll da nicht gehen ?
Angehängte Dateien
Dateityp: zip jelly_116.zip (567,4 KB, 5x aufgerufen)
Gruß
Hansa
  Mit Zitat antworten Zitat
webcss

Registriert seit: 10. Feb 2006
255 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 06:31
Also, während ich noch IBX Komponenten genutzt habe (bis Version 5.42) gabs zum einen die Property TIBDatabase.StreamedConnect, welche dann entschieden hat ob eine zur Designtime aktive Virbindung auch bei kompilierung aktiv ist/bleibt.

Zum anderen gabs eine Kompo INI...irgendwas mit der man eine INI Datei angeben konnte die die Verbindungsparameter enthält und bei erstellung einer TIBDatabase instanz at Runtime ausgelesen wurde.
Glaube das Package hiess IBXtra oder so.

Hier ist ein link IBXtras for D6
"Wer seinem Computer Mist erzählt, muss immer damit rechnen..." (unbekannt)
"Der Computer rechnet damit, dass der Mensch denkt..." (auch unbekannt)
mein blog
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 08:28
Zitat von Hansa:
Source : zumindest FIBplus-Trial wird gebraucht.
Du bist am schummeln. Die FIB Komponenten können das ja vielleicht. Meine IbDAC Komponenten können das auch: Angeben ob eine im OI aktive Verbindung zur Laufzeit aktiv bleiben soll. Dort kann man das einstellen. Bei den Standard BDE oder ADO Komponenten geht das aber nicht.

Werd dein Beispiel aber dennoch mal testen.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 08:51
Guten Morgen,

die von webcss beschriebene Eigenschaft gibt es - allerdings heißt sie bei mir AllowStreamedConnected. Wenn ich die Regel-Verbindung beim Ereignis OnBeforeConnect() aufbaue, brauche ich diese property nicht. Sie ist sicher hilfreich, wenn man die Verbindungsparameter an einer weniger geeigneten Stelle konfiguriert. Wenn man den Komfort einer Konfigurationsdatei genießen möchte, dann genügt eigentlich IBDatabase.Params.LoadFromFile() oder ini.ReadSectionValues(ConnectionName, IBDatabase.Params).

Freundliche Grüße
  Mit Zitat antworten Zitat
oschulz

Registriert seit: 29. Nov 2005
Ort: Cottbus
44 Beiträge
 
Delphi 7 Architect
 
#16

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 13:27
Bei den ODAC (Oracle) Komponenten gibt es eine Property NeverConenct. Damit ist es egal ob du beim compilieren verbunden bist oder nicht. Ich weiss nicht mit welcher Datenbank und Komponenten du arbeitest, aber eventuell gibt es bei dir sowas auch.

Gruss Olli
Oliver
Der Optimist: Das Glas ist halbvoll. - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#17

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 21:23
Zitat von Jelly:
Zitat von Hansa:
Source : zumindest FIBplus-Trial wird gebraucht.
Du bist am schummeln. Die FIB Komponenten können das ja vielleicht...
Wieso sollte das mit IBX denn nicht gehen ? Es geht eher um die Logik von Datamodulen und nicht um irgendwelche speziellen Komponenten.

So, dann werde ich das gleich doch mal mit IBX testen. Mal sehen. 8)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#18

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 21:34
Also dann leg ich mal parallel hier mein Gegenbeispiel hin. Die AdoConnection1 ist zur Designzeit auf active. Die Verbindung steht in meinem Fall zu einem MSSQL Server.

Die Verbindung soll dann anschliessend durch einen Buttonklick gemacht werden.

Stoppe ich den SQL Server Service und starte die Anwendung, fliegt mir die Fehlermeldung um die Ohren.

http://www.tp-soft.de/downloads/dp/connecterror.gif

Und das obwohl im OnCreate der Form die ADOConnection geschlossen wird.


Delphi-Quellcode:
unit Unit19;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;

type
  TForm19 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form19: TForm19;

implementation

{$R *.dfm}

procedure TForm19.Button1Click(Sender: TObject);
begin
     try
        self.ADOConnection1.Connected := true ;
        self.ADOQuery1.open;
     except
        MessageDlg('No connection', mtWarning, [mbOK], 0);
     end;
end;


procedure TForm19.FormCreate(Sender: TObject);
begin
     self.ADOConnection1.Connected := false ;
end;

end.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#19

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 21:50
Wer benutzt denn schon ADO ? Kein Wunder wenn so was kommt.

Habe FIBplus komplett rausgeschmissen und mit IBX - Komponenten ersetzt. Im Anhang ist alles dabei. In der IDE steht alles auf connected bzw. active ist true. "Datenbankverbindung bei Programmstart" wird mit der INI geregelt. Nur zur Wiederholung. Genauere Bedienung wie vorher, siehe weiter oben.

Wo geht jetzt was nicht ?

Edit : natürlich Anhang vergessen.
Angehängte Dateien
Dateityp: zip jelly_240.zip (399,8 KB, 11x aufgerufen)
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Datenbankverbindung bei Programmstart

  Alt 12. Feb 2007, 22:15
Sorry, kann deine Anwendung nicht testen, da ich noch nicht mal mit IBExpert eine Verbindung zur Datenbank hinkriege.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 20:06 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