Datenbank: MS SQL • Version: div • Zugriff über: FireDAC / ODBC
FireDAC und Fehler: Verbindung mit "hstmt" belegt
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 |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
Hast du den SQL Server Native Client installiert?
Ansonsten wird der Standardtreiber benutzt und der kann so etwas nicht. |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
Ist mir heute auch erst passiert! :shock:
Der von jaenicke angesprochene Client ist das sqlncli.msi passend zur Bittigkeit deines Systems: https://www.microsoft.com/en-us/down....aspx?id=43339 |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
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. |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
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 :twisted: Teufelszeugs! Gruß Rolf |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
Bis jetzt hatte ich immer nur eine Connection verwendet.
|
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
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. |
AW: FireDAC und Fehler: Verbindung mit "hstmt" belegt
Moin!
Also ich habe jetzt die Einstellung von Juergen gestet: Zitat:
Vielen Dank für die hilfreichen Tipps! Gruß Rolf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 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