Entwickler-Ecke
Datenbanken - TADOConnection nach MS Update kann keine Verbindung herstell
K. Mueller - Di 01.08.23 09:22
Titel: TADOConnection nach MS Update kann keine Verbindung herstell
Hallo Community,
in einem Programm stelle ich eine Verbindung zu eine Access Datenbank in einem Cloud Drive (HIDrive) her.
Das hat früher auch funktioniert. Leider seit einiger Zeit, seit dem neusten Update von Windows 10 kann er keine Verbindung mehr herstellen.
Die Fehlermeldung ist:
Zitat: |
Zugriffsverletzung von Adresse 75408DD9 combase.dll. |
Unter Windows 11 gibt es den gleichen Fehler.
Anscheinend ist die neue Datenbank engine von Microsoft nicht ganz kompatibel.
Wer hat eine Idee wie man das beheben kann?
Moderiert von
Th69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Di 01.08.2023 um 17:34
Moderiert von
Th69: Quote-Tags hinzugefügt
Ralf Jansen - Di 01.08.23 12:21
Hast du dich im Unterforum vergriffen? TADOConnection klingt mehr nach Delphi und weniger nach C# und ADO.Net genauso wie die combase eher für etwas aus der ADO Ecke spricht und weniger ADO.Net.
Wolltest du vielleicht etwas im
Delphi/Datenbanken [
https://entwickler-ecke.de/forum_Datenbanken_8.html] Subforum posten?
Wenn ja kann das ein Mod vielleicht verschieben.
K. Mueller - Mi 02.08.23 09:11
Ralf Jansen hat folgendes geschrieben : |
Hast du dich im Unterforum vergriffen? TADOConnection klingt mehr nach Delphi und weniger nach C# und ADO.Net genauso wie die combase eher für etwas aus der ADO Ecke spricht und weniger ADO.Net.
Wolltest du vielleicht etwas im Delphi/Datenbanken [https://entwickler-ecke.de/forum_Datenbanken_8.html] Subforum posten?
Wenn ja kann das ein Mod vielleicht verschieben. |
Kann auch gerne in das Forum Datenbanken verschoben werden.
K. Müller
Sinspin - Mi 02.08.23 16:39
Hallo K. kannst du bitte noch so nett sein, deine ganzen in verschiedenen Foren erstellten Einträge zu verlinken?
Es ist relativ unfreundlich das nicht zu tuen!
Jemand der dir helfen will macht das sonst womöglich ganz umsonst. Falls dir jemand in einem anderen Forum bereits geholfen hat Dir nun alle anderen Foren und deren Antworten am allerwertesten vorbeigehen.
Klaus Müller - Do 03.08.23 09:58
K. Mueller hat folgendes geschrieben : |
Hallo Community,
in einem Programm stelle ich eine Verbindung zu eine Access Datenbank in einem Cloud Drive (HIDrive) her.
Das hat früher auch funktioniert. Leider seit einiger Zeit, seit dem neusten Update von Windows 10 kann er keine Verbindung mehr herstellen.
Die Fehlermeldung ist:
Zitat: | Zugriffsverletzung von Adresse 75408DD9 combase.dll. |
Unter Windows 11 gibt es den gleichen Fehler.
Anscheinend ist die neue Datenbank engine von Microsoft nicht ganz kompatibel.
Wer hat eine Idee wie man das beheben kann?
Moderiert von Th69: Topic aus Datenbanken (inkl. ADO.NET) verschoben am Di 01.08.2023 um 17:34
Moderiert von Th69: Quote-Tags hinzugefügt |
Test unter W10 22H2 - Es geht alles!!!
Test unter W10 22H3 - keine Datenbank verbindung.
Klaus Müller - Do 10.08.23 11:51
Aktuell habe ich eine Access Datenbank auf einem Cloud Laufwerk.
Zu dem Cloud Laufwerk (HiDrive) stelle ich eine Verbindung mit Windows (webDav SSL) her
Somit ist die Datenbank erreichbar, leider kann sich das Programm seit einiger Zeit nicht mehr mit der Datenbank verbinden.
Es gibt ja auch andre Datenbank Systeme hat jemand schon mal eine Datenbank in der cloud abgelegt und dort eine stabile Verbindung hinbekommen? Wenn ja mit welchem Datenbank System?
Sinspin - Mo 14.08.23 17:00
Die Zugriffsverletzung, die Du als Fehlermeldung bekommst halte ich eher für einen Folgefehler. Da gibt es sicher einen Fehler beim Dateizugriff der nicht passend behandelt wird.
Hast du mal einen anderen WebDAV Client probiert?
Wie greifst Du denn aus deinem Programm drauf zu? Auch via WebDAV? Also wie adressierst du die Dateien? Dass das extrem lahm ist, ist dir klar?
Via Netzlaufwerk? Wenn ja, Verbindung gelöscht und neu erstellt?
HiDrive ist von 1und1 :shock: Nein nein, ich sag dazu jetzt nix weiter.
Klaus Müller - Mo 21.08.23 18:34
Hallo Sinspin
Zu deiner Frage ich baue mit Windows per Batch Script eine WebDAV Verbindung auf damit ist das Laufwerk als Windows Laufwerk erreichbar.
Die Geschwindigkeit ist eigentlich gar nicht so schlecht da wir eine sehr schnelle Internet Verbindung haben.
Das Ganze hat auch eine Zeitlang funktioniert, nur seit einiger Zeit (Ca.2 Wochen) nach update von Windows geht es nicht mehr.
Habe eine Program geschrieben das die WabDav Verbindung aufbaut und anschließend testet (Filecheck) ob die Datenbank erreichbar ist.
Da funktioniert auch nur sobald ich Datenbank Verbindung aufbaue gibt es eine Fehlermeldung.
Ich vermute vielleicht das Windows die Datenbank Verbindung außerhalb vom Lokal Netz nicht mehr zulässt. Kann das aber nicht testen, eigentlich müsste es da auch eine Fehlermeldung geben.
Sinspin - Di 22.08.23 11:47
Wenn Du dir die DB lokal hinlegst geht es?
Im Explorer / oder mit deinen Tool, kannst Du die Dateien sehen? Kannst Du auch neue Dateien anlegen, speichern, bearbeiten?
Ich denke nicht das ADO da einen Unterschied macht ob die DB im lokalen Netzwerk liegt oder auf irgend einem Link. Wobei Windows immer genauer vefolgt woher die Links kommen.
Ralf Jansen - Di 22.08.23 12:46
Hast du diesen Hinweis in der
Doku [
https://www.strato.de/faq/cloud-speicher/ueber-welche-protokolle-kann-ich-mich-mit-hidrive-verbinden/#webdav] zur Kenntnis genommen und berücksichtigt?
Zitat: |
HINWEIS
Microsoft stuft das WebDAV-Protokoll für sein Produkt "Microsoft 365" aufgrund einer Standard-Anmeldemethode zukünftig als unsicher ein. Um WebDAV in Kombination von HiDrive und Office weiter verwenden zu können, bedarf es das Anlegen einer Security Policy (Sicherheitsregel/Ausnahme), welches nur in Windows Betriebssystemen ab Version Professional und darüber (nicht in Home Edition) möglich ist.
STRATO empfiehlt daher für die Teamarbeit mit Microsoft Office-Dokumenten eine Anbindung per SMB-Protokoll.
|
Auf SMB wechseln eine Option?
Klaus Müller - Di 22.08.23 16:20
Hallo Ralf, danke für die Infos, ich habe eigentlich WebDAV genomme weil ich dachte das das Sicherer ist wie SMB. Bei SMB werden die Anmelde Daten unverschlüsselt übertragen, bei WebDAV Verbindung über HTTPS werden die Daten und die Anmeldung verschlüsselt.
Klaus Müller - Di 22.08.23 16:27
Die Herstellung einer Verbindung mit Https erledigt ein Programm von mir „CloudConnect“ das funktioniert unter Windows ohne Probleme und ohne zusätzliche Einstellungen.
Ich kopier es demnächst auf meine Homepage als Freeware, dann kann man das laden.
Sobald es verfügbar ist gebe ich hier den Link bekannt.
Ralf Jansen - Di 22.08.23 16:38
SMB sollte ebenfalls verschlüsselt sein. Steht aber leider nix zu in der Doku die ich gefunden hatte. Das wäre was das der "Server" steuert also Strato.
Klaus Müller - Di 22.08.23 16:43
Nun zu Sinspin, lokal läuft alles, wenn ich mit dem Programm „CloudConnect“ eine HTTPS Verbindung zu dem HiDrive aufbaue ist das als Windows Laufwerk auch benutzbar, ich kann hier Daten Speichen, löschen und ändern ohne irgendwelche Einschränkungen, ich kann auch die Access Datenbank die auf dem HiDrive liegt mit Access von meinem Rechner öffnen und bearbeiten.
Nur wenn ich mit meinem Programm eine Verbindung aufbauen will kommt es immer wieder zu seltsamen Fehlermeldungen.
Vielleicht liegt das an der HTTPs Verbindung, die ist durch die Verschlüsselung natürlich auch etwas langsamer. Noch seltsamer ist das es manchmal sogar funktioniert aber hat nicht immer, also eigentlich öfter nicht und nur ab und zu tatsächlich richtig. Ich werde aber noch weiter testen und Bericht dann wieder.
Klaus Müller - Do 13.06.24 12:26
Update nach einiger Zeit.
Inzwischen funktioniert alles unter Windows 10.
Fehlerbehebung:
1. Das Cloud Laufwerk verbinden
2. Den Pfad zu dem Datenverzeichnis setzen.
3. Das Programm Lokal installieren und von dem Lokalen PC starten.
Also unter Windows 10 geht das so, nur unter Windows 11 gibt es nun Probleme, das Programm welsches lokal installiert ist will keine Datenbank Verbindung mit dem Cloud Laufwerk herstellen?
Klaus Müller - Do 13.06.24 12:31
Nachtrag zu den Protokollen.
SMB ist bei uns im Netzwerk gesperrt, fällt also aus.
Es geht nur eine WebDAV Verbindung über HTTPS.
Über HTTPS funktioniert es auch, nur bei Windows 11 gibt es nun Probleme.
Klaus Müller - Do 13.06.24 12:56
Zu den Protokollen:
SMB scheidet aus da es auf der Firewall gesperrt wird.
Ralf Jansen - Do 13.06.24 19:13
Nur um den Status zu verstehen. Es geht immer noch um eine ADO Connection die nicht funktioniert?
Aber der Zugriff funktioniert wenn du von deinem Windows 11 den HIDrive Netzwerkspeicher einfach im Explorer als Netzlaufwerk hinzufügst?
Wenn das geht funktioniert der Zugriff zur Datenbank per UDL Datei so wie es im delphipraxis Thread empfohlen wurde?
Meine Delphi Kenntnisse sind arg eingerostet daher vielleicht eine dumme Frage aber welche Treiberbittigkeit versuchst du zu verwenden (x64 vs. x86)?
Klaus Müller - Do 20.06.24 12:14
Nach mehreren Versuchen habe ich das Problem nun etwas eingrenzen können.
Es wird eine Batch Datei erstellt die dann ausgeführt wird.
Die Batch Datei verbindet das Netzlaufwerk mit:
Quelltext
1:
| Net Use X: https://webdav.hidrive.strato.com:443 /user:xxx password /persistent:no |
Dies Datei wird dann mit
Delphi-Quelltext
1:
| RunProcessAndWait(Dir_TempBS + C_BatTempFileName, false); |
ausgeführt, wobei „RunProcessAndWait“ hier aus dem Forum ist.
Man kann aber auch „ShellExecute” verwenden, was zu dem gleichen Ergebnis führt.
Das Problem:
Wenn ich das Batch im Programm mit einen der beiden Befehle starte funktioniert es nicht!
Das Laufwerk wird nicht verbunden, wenn ich den Batch aber manuell (mit Doppelklick) selber starte geht es schon.
Hier scheint ein Windows Update die Möglichkeit aus dem Programm heraus einen Batch zu starten zu verhindern.
Wie bekomme ich das wieder zum Laufen?
Moderiert von
Th69: Code-Tags hinzugefügt
Ralf Jansen - Do 20.06.24 20:00
Warum wird hier überhaupt eine Batch Datei verwendet und nicht direkt die passende WinAPI wenn man schon in einer systemnahen Sprache unterwegs ist?
Ich könnte mir schon vorstellen das du so Probleme mit dem Persistent:No bekommst aber eigentlich auch nicht erst mit Win11.
Seit UAC ist nicht mehr immer klar beim starten eines Prozesses ob das der selbe UserContext (der selbe Login) ist und wenn es nicht persistiert ist es für die andere Sitzung nicht mehr da.
Möglicherweise hilft es den Batch über die CreateProcessAsUser API zu starten um sicherzustellen das der User Context gleich bleibt.
Oder es hilft deine APP mal mit Adminrechten zu starten ich glaube aber nicht wirklich das das zusamenhängt.
Einfach eine der WNetAddConnection Varianten direkt aufrufen scheint irgendwie am sinnvolsten. Im Zweifel muß dir da aber jemand anderes helfen bei Delphicode Details bin ich raus ;)
Edit: Eigentlich schonmal probiert das persistent:no wegzulassen? Zumindest wissen wir dann das mein Näschen die richtig Spur gewittert hat.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!