AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FireDAC und Fehler: Verbindung mit "hstmt" belegt
Thema durchsuchen
Ansicht
Themen-Optionen

FireDAC und Fehler: Verbindung mit "hstmt" belegt

Ein Thema von rokli · begonnen am 30. Aug 2016 · letzter Beitrag vom 3. Sep 2016
Antwort Antwort
rokli

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

FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 30. Aug 2016, 10:23
Datenbank: MS SQL • Version: div • Zugriff über: FireDAC / ODBC
Hallo zusammen,

seid Delphi 10 habe ich begonnen, meine Datenbankanwendungen nicht mehr mit BDE (die ganz alten) oder dbGo, also ADO, zu entwickeln, sondern ich verwende FireDAC via ODBC auf SQL Server. Das ist im Prinzip ganz schön; aber ich habe nach wie vor, wenn ich nicht aufpasse, die Fehlermeldung:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt TEST.exe ist eine Exception der Klasse EODBCNativeException mit der Meldung '[FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver]Die Verbindung ist mit Ergebnissen von einem anderen hstmt belegt' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------


In der Hilfe zu FireDAC habe ich gelesen, dass es sich bei der Meldung darum handelt, dass 2 (oder mehrere) TFDQuery auf EINER TFDConnection GLEICHZEITIG geöffnet werden sollen. Und das ist auch wohl so. Wenn man darauf achtet, die 2 TFDQuery nacheinander zu öffnen, ist alles gut und die Meldung kommt nicht. Nur das geht oft nicht immer nacheinander, weil ich aus 2 Abfragen die Ergebnisse gleichzeitig benötige.

Nun lege ich mehrere TFDConnection zu ein und derselben DB an, damit ich mehrere TFDQuery gleichzeitig öffnen kann.

Früher (BDE / ADO) habe ich immer EINE Connection pro DB gehabt und die benötigte Anzahl an Querys mit der einen Connection verbunden.

Und hier kommt nun meine Frage: Ist das eigentlich richtig so? Öffnet Ihr unter FireDAC auch mehrere Conncetions, wenn Ihr gleichzeitig mehrere Querys zu einer DB benötigt?

Danke für Eure Tipps und Anregungen.

Gruß
Rolf
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 jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 30. Aug 2016, 13:53
Hast du den SQL Server Native Client installiert?
Ansonsten wird der Standardtreiber benutzt und der kann so etwas nicht.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 30. Aug 2016, 15:28
Ist mir heute auch erst passiert!
Der von jaenicke angesprochene Client ist das sqlncli.msi passend zur Bittigkeit deines Systems: https://www.microsoft.com/en-us/down....aspx?id=43339
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 30. Aug 2016, 22:11
Hallo,

ich hatte genau denselben Fehler mit AnyDac (jetzt FireDac). Aber nur mit dem native Client in Version 11, in Version 10 nicht.
Beheben konnte ich das unter
Options der "ADConnection" bei "Fetch-Options" --> General Fetchs, Cursor Kind auf "ckStatic" setzen.

Ich hoffe das hilft dir, ich hatte länger suchen müssen.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
rokli

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

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 1. Sep 2016, 06:34
Guten Morgen!

Erst einmal vielen Dank für die Infos! Hatte gestern und vorgestern so viel um die Ohren, dass ich erst heute posten kann...

Also was den ODBC Client an geht, habe ich

SQL Server (6.01.7601.17514)
SQL Server Native Client 10.0 (2007.100.4064.00) und
SQL Server Native Client 11.0 (2011.110.2100.60) auf meinem Rechner.

Dabei musste ich sogar feststellen, das es Probleme gibt, wenn ich z. B. den Native 11 bei der Entwicklung verwendet habe, und auf dem Ziel PC eine andere Version vom ODBC Treiber installiert ist. Seitdem ich den "kleinsten gemeinsamen" Treiber verwende ist da nichts mehr passiert.

@Juergen: Deinen Tipp muss ich noch testen ... auch da bin ich noch nicht zu gekommen.

Aber mich interessiert noch die Thematik mit den Connections: Macht Ihr für jede Query eine eigene auf, oder lasst Ihr alle Querys über die gleiche Connection laufen? Bei MS wird ja darauf hingewiesen, immer alle Verbindungen so schnell wie möglich wieder zu schließen! Und viele Connections sind demnach Teufelszeugs!

Gruß
Rolf
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 juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.175 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 1. Sep 2016, 19:35
Bis jetzt hatte ich immer nur eine Connection verwendet.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#7

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 2. Sep 2016, 10:11
Wir verwenden hier nur eine connection.
Wenn man den aktuellsten Native-Client installiert kommt der Fehler nicht mehr. So zumindest unsere Erfahrung. Der kommt nur mit dem Standard-ODBC-Treiber von Windows.
Unser Client Setup installiert den immer gleich mit. Genauso wie wir auch für Firebird die FBClient.dll und das c++-Redist paket von microsoft und die GDIplus.dll immer mitliefern.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty ( 2. Sep 2016 um 10:21 Uhr)
  Mit Zitat antworten Zitat
rokli

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

AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt

  Alt 3. Sep 2016, 11:05
Moin!

Also ich habe jetzt die Einstellung von Juergen gestet:

Zitat:
Options der "ADConnection" bei "Fetch-Options" --> General Fetchs, Cursor Kind auf "ckStatic" setzen.
Und tatsächlich ist der Fehler nicht mehr aufgetreten. Ich hatte verschiedene Tests gemacht, von denen ich wusste, dass es knallt - aber ist nun vorbei (ODBC Version MS SQL NATIVE 10. und 11.). Das bedeutet für mich, auch in Zukunft wieder schön eine Connection pro Datenbank ...

Vielen Dank für die hilfreichen Tipps!

Gruß
Rolf
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
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 04:10 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