Ich habe eine mobile App, die in eine SQL Server CE-Datenbank auf dem Gerät schreibt. Ich möchte eine Desktop-Anwendung schreiben, die diese Daten lesen und im CSV-Format exportieren kann. Ich habe mir RAPI (Remote API) angesehen, aber ich würde es vorziehen, dies vollständig mit verwaltetem Code zu tun. Gibt es eine Alternative zu RAPI?Zugriff auf eine SQL Server CE-Datenbank auf einem Windows Mobile 6-Gerät
Antwort
Der Grund, warum ich diese Frage anfänglich gestellt habe, war meine Sorge, dass RAPI für meine kleine App zu sehr involviert sein würde (nachdem ich die API-Dokumentation angeschaut habe). Ich begann trotzdem, eine Wrapper-Bibliothek in nicht verwaltetem Code zu schreiben, nur um zu erkennen, dass ich die gesamte C++ - Laufzeitumgebung mitnehmen musste. Also habe ich ein paar Methoden für die Verarbeitung von RAPI-Dateien und Dateisystemoperationen zusammengestellt, die RAPI mithilfe von P/Invoke direkt aus C# aufrufen. Ich habe einige dieser Methoden an verschiedenen Stellen gefunden, einige eigene hinzugefügt und sie alle in eine C# -Klasse eingestuft. Ich passte sie mit konsistenter Fehlerbehandlung an und es stellte sich heraus, genau das zu tun, was ich brauchte, nach nur ein paar Stunden Anstrengung.
Sie könnten ein benutzerdefiniertes Socket-Kommunikationsprotokoll schreiben, damit Ihre mobile App nach einer Socket-Verbindung lauscht und der Desktop "einruft" und dann Befehle sendet.
Haben Sie RAPI verwendet, um die SQLCE-Datenbank auf den PC zu kopieren und die PC-App damit arbeiten zu lassen? Wenn ja, haben Sie die Datenbankdatei wieder auf den PDA kopiert?
Ich dachte an etwas Ähnliches.
Bitte lassen Sie mich wissen, wenn Sie irgendwelche Straßensperren/Probleme im Weg standen.
Haben Sie OpenNETCF 2.3 verwendet?
Ich benutzte RAPI direkt. Ich brauchte nur eine Handvoll Funktionsaufrufe. Es funktioniert gut. Dies ist die App: http://cdonner.com/free-mileage-tracker-for-windows-mobile-6-smartphones.htm – cdonner
Ich möchte nicht mit einer Anwendung auf dem Telefon sprechen, ich möchte in der Lage sein, das Datum vom Gerät zu verschieben, wenn es mit dem Desktop verbunden ist. Die SQL Server CE-Datenbank ist eine einzelne Datei, die ich lesen und mit RAPI auf die lokale Festplatte kopieren kann. – cdonner
Ich stimme nicht zu. Sie möchten * mit einer App am Telefon sprechen. Wie sonst würden Sie Daten daraus erhalten? RAPI kommuniziert mit der ActiveSync-App auf dem Telefon. Etwas muss da sein, um auf einen Befehl zu warten, die Daten abzufragen und an den PC zurückzusenden. Ob es sich um eine Datei oder einen Datensatz handelt, der Porozess ist derselbe. – ctacke
Ja, Sie haben Recht, technisch. Um meinen Kommentar neu zu formulieren, wollte ich keine benutzerdefinierte Anwendung schreiben, um etwas zu tun, das schon da ist. Ich endete mit RAPI und es funktioniert wie ein Charme. – cdonner