J'ai deux types d'ordinateurs de poche personnalisés qui sont semblables, mais un peu différent, chacun exécutant la même application WinForm et une base de données WinCE:SQLCE DB se bloque parfois sur un portable, pas un autre
Type 1: WinCE 4.2, 400 mhz, 93244 kb Type 2: WinCE 5.0, 520 mhz, 84208 kb
Le type 1 va heureusement procéder par une opération de lot de grande taille (initiée par l'application), par Type 2 commencera systématiquement rampant (pour plusieurs à plusieurs cycles) autour de la marque de 200 cycles. À plusieurs points, il commencera à fonctionner normalement, puis à ramper à nouveau.
L'application effectue plusieurs opérations de base de données (insère, met à jour et sélectionne, pas de suppression).
Pour simplifier ma situation, je l'ai construit une petite application de test qui fait essentiellement ceci:
command_s.CommandText = "select dvr from vr where vid = 2211250";
command_u.CommandText = "update pvr set LocationID=81 where Status='OK' and vri = 27861";
while(going)
{
command_s.ExecuteScalar();
command_u.ExecuteNonQuery();
}
et mis hors tension en cours d'exécution sur les deux unités côte à côte. Effectivement, l'unité la plus lente (400 mhz) est plus rapide que l'unité plus rapide (520 mhz) (c'est environ 5000 cycles d'avance en ce moment) et je peux voir des pauses notables sur l'unité 520 mhz.
À quoi est-ce dû?
Les versions de SqlCE doivent être identiques (fournies en tant qu'ensemble de référence lors de la construction de l'exe). Ils écrivent tous deux pour clignoter mais je crois que le système le plus rapide (qui fonctionne moins vite) est SDHC et le système le plus lent (qui fonctionne plus vite) est MMC. – Michael
Eh bien, vous avez deux architectures de bus complètement séparées, et il est tout à fait possible que ce soit une différence de bus. Avez-vous essayé un simple fichier lire/écrire sur les deux? Je parie que vous trouverez la même différence, ce qui signifie que cela n'a rien à voir avec SQLCE et tout ce qui concerne votre matériel. Identifier le "problème" avec le périphérique CE 5.0 va probablement nécessiter un oscilloscope, Platform Builder et une compréhension approfondie des pilotes SDHC et Flash de ce système CE 5.0. – ctacke
L'exécution d'un test de stress purement basé sur des fichiers sur les deux unités semble recréer le problème. Il semble que la différence SDHC vs MMC est à l'origine du problème. – Michael