collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 60
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 14072
  • stats Beiträge insgesamt: 67582
  • stats Themen insgesamt: 9104
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Access .adp Verbindung zur SQL Datenbank neu aufbauen  (Gelesen 1378 mal)

Offline MrMojoRisin

  • Newbie
  • Beiträge: 25
Access .adp Verbindung zur SQL Datenbank neu aufbauen
« am: Dezember 18, 2017, 12:00:09 »
Hallo,
ich nutze eine .apd als FrontEnd und SQL 2012.
Habe zwei Anwendungen, die sich über eine OnTimer Eigenschaft aktualisieren.
Jetzt verliert die .adp ab und an die Verbindung zum Server, so wie es aussieht. Kommt ne Meldung in der Art. Was mit Connection lost, no connection... gerade nicht im Kopf.
Jetzt würde ich einfach gerne bei jedem Timer Event die Verbindung neu aufbauen lassen. Wie mache ich das?
Hoffe dadurch das in den Griff zu bekommen. Ursprünglich kommen die Fehler mit Sicherheit vom Netzwerk, aber das lässt sich so schnell nicht lösen :D
Danke und Grüße
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 209
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #1 am: Dezember 18, 2017, 12:08:47 »
Ich würde das ADOConnection.Disconnect Event auswerten.
10 Jahre Access
 
Folgende Mitglieder bedankten sich: Xoar

Offline datekk

  • Access-Meister
  • ***
  • Beiträge: 709
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #2 am: Dezember 18, 2017, 14:05:57 »
Oder...:

IF ADOConnection.State <> adstateopen then VerbindungAufbauen


 

Offline Wurliwurm

  • Access-Profi
  • **
  • Beiträge: 382
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #3 am: Dezember 18, 2017, 15:42:30 »
Jetzt würde ich einfach gerne bei jedem Timer Event die Verbindung neu aufbauen lassen. Wie mache ich das?

Ganz schlechter Stil, mit dem Timer und Neuaufbau der Verbindung. Würdest Du das auch manuell machen, z.B. bei instabiler Internetverbindung Dir eine Eieruhr hinstellen und alle 5 Minuten die Verbindung neu aufbauen?!?

Lass genau eine ADODB.Connection zu, baue diese beim start des Clienst auf und prüfe vor jeder SQL-Transaktion und jeder Abfrage ob die Connection (noch) offen ist. Am besten via Function in der Art:

Ein Modul hat eine Connection.
Private conn as ADODB.Connection

Public Function getConnection() as ADODB.Connection

  If conn is nothing then
     VerbindungAufbauen
  else if conn.State <> adStateOpen then
     Verbindung Aufbauen
  endif
 
  getConnection = conn

End Function
 

Offline MrMojoRisin

  • Newbie
  • Beiträge: 25
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #4 am: Dezember 18, 2017, 16:01:22 »
Danke, das hilft weiter. Mir schon klar, dass das keine hübsche Lösung ist, allerdings ist das auch keine hübsche Anwendung ;)
Ne, quatsch, hast ja Recht. So was in der Art werde ich morgen mal schreiben, dann werden wir sehen, ob es besser wird.

Danke schon mal an euch.
 

Offline markus888

  • Access-Profi
  • **
  • Beiträge: 209
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #5 am: Dezember 19, 2017, 09:07:31 »
Wie ist das eigentlich, wenn die Verbindung während einem Execute abreißt?
Löst dann die Connection umgehend ein Error Event aus, oder erst nach einem Timeout?

10 Jahre Access
 

Offline Wurliwurm

  • Access-Profi
  • **
  • Beiträge: 382
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #6 am: Dezember 19, 2017, 11:42:06 »
Wie ist das eigentlich, wenn die Verbindung während einem Execute abreißt?
Löst dann die Connection umgehend ein Error Event aus, oder erst nach einem Timeout?

Bei DML-Kommandos auf einem Datenbankserver immer mit Transaktionen arbeiten. Die unscheinbaren Befehle beginTrans und commitTrans sorgen dafür, daß auch bei umfangreichen Updates nach dem Alles-oder-nichts Prinzip fortgeschrieben wird.
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 360
    • Tipps zu Access, VBA, SQL und Co.
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #7 am: Dezember 19, 2017, 13:15:05 »
Ein paar Anmerkungen zu dem Thema.
  • Die ursprüngliche Frage war explizit zu einer Access-ADP-Anwendung. In einer solchen ist es nach meiner Erfahrung nicht ganz so einfach die Haupt-Verbindung (CurrentProject.Connection) in eine eigene Property/Function zu kapseln.
  • Meine eigenen, bisher eher oberflächlichen, Experimente mit den Events von ADO-Connections waren eher durchwachsen. Häufig wurden Events nicht gefeuert, die ich eigentlich erwartet hätte.
Das Thema betrifft mich bzw. einige meine Anwendungen auch, daher bin ich sehr interessiert am Ergebnis dieser Diskussion.
Neues Access 2019 Feature angekündigt: Modern Charts
 

Offline Wurliwurm

  • Access-Profi
  • **
  • Beiträge: 382
Re: Access .adp Verbindung zur SQL Datenbank neu aufbauen
« Antwort #8 am: Dezember 20, 2017, 14:27:03 »
Die ursprüngliche Frage war explizit zu einer Access-ADP-Anwendung. In einer solchen ist es nach meiner Erfahrung nicht ganz so einfach die Haupt-Verbindung (CurrentProject.Connection) in eine eigene Property/Function zu kapseln.

Wenn das so ist, dann helfen die obigen Hinweise wahrscheinlich nicht. Ich meine, daß dieses ADP so eine Art goldenen Käfig darstellt (ähnlich wie die Makros als Code-Ersatz).