Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht möglich (https://www.delphipraxis.net/202050-datasnapserver-client-anwendung-operation-bei-geoeffneter-datenmenge-nicht-moeglich.html)

Michael80 23. Sep 2019 12:20

DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht möglich
 
Hallo Zusammen,

ich versuche gerade unseren MSSQL Server über eine App erreichbar zu machen. Da Android ja kein MSSQL über FireDAC unterstützt bin ich im DataSnapServer hängengeblieben, und das sieht auch relativ
gut aus.

Aufbau Server:
DBX connection, SQLDataSet, Datasetprovider

Client:

SQLConnection, DSProviderConnection, ClientDataSet

In der IDE passt das ganze und die Daten werden auch angezeigt, jedoch kann ich in der Laufzeit die Abfrage nicht ändern.

Bei der Recherche habe ich gelesen dass poAllowCommandText true sein muss und dass ich über Command text auf dem Client dann die SQL senden kann.
Die Laufzeit meckert mir aber dass die Operation bei geöffneter Datenmenge nicht möglich ist.

Code:
ClientDataSet1.CommandText := 'Select * XXX where ABC = 2';
ClientDataSet1.Execute;
Ich bin etwas am verzweifeln und auch mein Freund Google hilft mir nicht weiter.

Vielleicht bin ich auch einfach nur zu blöd :oops:

Danke im Voraus für eure Mühe

Gruß

Michael

FBrust 23. Sep 2019 12:41

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
Hallo,

falls

Zitat:

'Select * XXX where ABC = 2';
wirklich Dein SQL ist, fehlt ein "from"


Gruß
Frank

Michael80 23. Sep 2019 13:11

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
danke frank, aber da war wohl zuviel blau markiert beim maskieren ;) da steht freilich ein From drin :lol:

haentschman 23. Sep 2019 13:45

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
Hallöle...8-)
Ich kenne das ClientDataset aus der Praxis nicht, aber ein select sollte sich nicht mit einem Execute vertragen. Ein select gibt nämlich einen Cursor/Datenmenge zurück...Versuche mal ein open.
siehe:
Zitat:

Anmerkung: Verwenden Sie Execute nicht zum Ausführen einer Abfrage oder Stored Procedure, die einen Cursor zurückgibt.
http://docwiki.embarcadero.com/Libra...ataSet.Execute

Michael80 23. Sep 2019 14:30

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
Code:
ClientDataSet1.CommandText := 'Select * FROM XXX where ABC = 2';
ClientDataSet1.open;
passiert gar nix

Code:
ClientDataSet1.close;
ClientDataSet1.CommandText := 'Select * FROM XXX where ABC = 2';
ClientDataSet1.open;
motzt er wieder mit dem gleichen fehler.

Der Fehler bezieht sich aber nicht auf den Client, sondern das SQLDataset in der Serveranwendung, das hatte ich vorhin vergessen.

Remote-Fehler: SQLDataSet_XXX: Operation bei geöffneter Datenmenge nicht ausführbar

Minz3 23. Sep 2019 14:45

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
Ist bei den Eigenschaften des DataSets zufällig "Active" auf true gesetzt?

Michael80 23. Sep 2019 15:16

AW: DataSnapServer/Client Anwendung - Operation bei geöffneter Datenmenge nicht mögli
 
:wall: das scheint es gewesen zu sein.

Aber normalerweise sollte doch das close die Verbindung schließen oder nicht?

Danke Dir, wenn noch was auftreten sollte schrei ich wieder ganz laut


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:16 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