Result set differences in a SQL Server Compact database PC vs Mobile device











up vote
0
down vote

favorite












Interesting problem: I have a SQL Server CE 3.5 database with some data in it. I run a query on the database, using a mobile device and obtain a result set.



This works fine 99% of the time, but on occasion I get records in the database where the query returns an empty result set.



If I take a copy of the same database file from my mobile device and connect to it with Query analyzer, then run the exact same query (as copied/pasted from the debugger), the query returns records. The query itself does a JOIN and GROUP BY on two tables by a referential identity key field.



Now if I make a clone the same records involved via a series of:



INSERT INTO MyTable (EntireFieldListExceptForIDKey)
SELECT
(EntireFieldListExceptForIDKey)
FROM
MyTable
WHERE
IDKey = Original


The query is now able to correctly assemble a result set on the cloned records on the mobile device.



Can anyone explain this, and possibly how to detect/overcome?










share|improve this question




























    up vote
    0
    down vote

    favorite












    Interesting problem: I have a SQL Server CE 3.5 database with some data in it. I run a query on the database, using a mobile device and obtain a result set.



    This works fine 99% of the time, but on occasion I get records in the database where the query returns an empty result set.



    If I take a copy of the same database file from my mobile device and connect to it with Query analyzer, then run the exact same query (as copied/pasted from the debugger), the query returns records. The query itself does a JOIN and GROUP BY on two tables by a referential identity key field.



    Now if I make a clone the same records involved via a series of:



    INSERT INTO MyTable (EntireFieldListExceptForIDKey)
    SELECT
    (EntireFieldListExceptForIDKey)
    FROM
    MyTable
    WHERE
    IDKey = Original


    The query is now able to correctly assemble a result set on the cloned records on the mobile device.



    Can anyone explain this, and possibly how to detect/overcome?










    share|improve this question


























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      Interesting problem: I have a SQL Server CE 3.5 database with some data in it. I run a query on the database, using a mobile device and obtain a result set.



      This works fine 99% of the time, but on occasion I get records in the database where the query returns an empty result set.



      If I take a copy of the same database file from my mobile device and connect to it with Query analyzer, then run the exact same query (as copied/pasted from the debugger), the query returns records. The query itself does a JOIN and GROUP BY on two tables by a referential identity key field.



      Now if I make a clone the same records involved via a series of:



      INSERT INTO MyTable (EntireFieldListExceptForIDKey)
      SELECT
      (EntireFieldListExceptForIDKey)
      FROM
      MyTable
      WHERE
      IDKey = Original


      The query is now able to correctly assemble a result set on the cloned records on the mobile device.



      Can anyone explain this, and possibly how to detect/overcome?










      share|improve this question















      Interesting problem: I have a SQL Server CE 3.5 database with some data in it. I run a query on the database, using a mobile device and obtain a result set.



      This works fine 99% of the time, but on occasion I get records in the database where the query returns an empty result set.



      If I take a copy of the same database file from my mobile device and connect to it with Query analyzer, then run the exact same query (as copied/pasted from the debugger), the query returns records. The query itself does a JOIN and GROUP BY on two tables by a referential identity key field.



      Now if I make a clone the same records involved via a series of:



      INSERT INTO MyTable (EntireFieldListExceptForIDKey)
      SELECT
      (EntireFieldListExceptForIDKey)
      FROM
      MyTable
      WHERE
      IDKey = Original


      The query is now able to correctly assemble a result set on the cloned records on the mobile device.



      Can anyone explain this, and possibly how to detect/overcome?







      sql sql-server-ce






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 19 at 19:42









      marc_s

      569k12811001250




      569k12811001250










      asked Nov 19 at 18:16









      Dave Monkman

      1




      1
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote













          This is most likely due to a corrupt index, as both copying the file to your desktop and creating a new table will cause an Index rebuild.



          It is recommended to regularly Compact your database to prevent this - also make sure you are using the latest runtime binaries.






          share|improve this answer





















          • k gotcha, I open with a shrink, which I had assumed was sufficient.
            – Dave Monkman
            Nov 19 at 19:30











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53380485%2fresult-set-differences-in-a-sql-server-compact-database-pc-vs-mobile-device%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          0
          down vote













          This is most likely due to a corrupt index, as both copying the file to your desktop and creating a new table will cause an Index rebuild.



          It is recommended to regularly Compact your database to prevent this - also make sure you are using the latest runtime binaries.






          share|improve this answer





















          • k gotcha, I open with a shrink, which I had assumed was sufficient.
            – Dave Monkman
            Nov 19 at 19:30















          up vote
          0
          down vote













          This is most likely due to a corrupt index, as both copying the file to your desktop and creating a new table will cause an Index rebuild.



          It is recommended to regularly Compact your database to prevent this - also make sure you are using the latest runtime binaries.






          share|improve this answer





















          • k gotcha, I open with a shrink, which I had assumed was sufficient.
            – Dave Monkman
            Nov 19 at 19:30













          up vote
          0
          down vote










          up vote
          0
          down vote









          This is most likely due to a corrupt index, as both copying the file to your desktop and creating a new table will cause an Index rebuild.



          It is recommended to regularly Compact your database to prevent this - also make sure you are using the latest runtime binaries.






          share|improve this answer












          This is most likely due to a corrupt index, as both copying the file to your desktop and creating a new table will cause an Index rebuild.



          It is recommended to regularly Compact your database to prevent this - also make sure you are using the latest runtime binaries.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 19 at 19:13









          ErikEJ

          30.9k24884




          30.9k24884












          • k gotcha, I open with a shrink, which I had assumed was sufficient.
            – Dave Monkman
            Nov 19 at 19:30


















          • k gotcha, I open with a shrink, which I had assumed was sufficient.
            – Dave Monkman
            Nov 19 at 19:30
















          k gotcha, I open with a shrink, which I had assumed was sufficient.
          – Dave Monkman
          Nov 19 at 19:30




          k gotcha, I open with a shrink, which I had assumed was sufficient.
          – Dave Monkman
          Nov 19 at 19:30


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53380485%2fresult-set-differences-in-a-sql-server-compact-database-pc-vs-mobile-device%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

          Alcedinidae

          Origin of the phrase “under your belt”?