共用方式為


Destination SQL Server 2005 (Mobile Edition)

Hi Folks...

The title of this post may make it sound like a movie. But it ain't. This is a contemporary post noir set on the devices of a gritty, yet colorful SQL Server neighborhood... :D (That was gross, I concur! Hopefully the meat of the post will have some substance and better humor than its opening line)

The reason for this post was is the following question posted on one of our internal Data on Devices related aliases.

We wish to push SQL Server Mobile database file from a desktop application developed in VS2005 to the mobile device Here it is in a nutshell:

1) POPULATE the mobile database with data on the desktop
2) PUSH the mobile database to the mobile device

We have following Questions

1) Figuring out how to populate a SQL Server Mobile database file from a desktop application developed in VS2005 (and to do so directly, without RDA, Replication or XML).
2) Identify the best way to PUSH the above SQL Server Mobile file to the mobile device (i.e., do we still use RAPI's DesktopToDevice?)
3) Determining which .DLL's our application will need to install on the end-users Desktop PC to enable both the POPULATE and PUSH functionality as developed
4) Making sure we have Microsoft's permission to redistribute said .DLL's.

As you have noticed, we have a rich data-on-devices story with Visual Studio 2005. A lot of work went into this area since Visual Studio 2003 and data-on-devices story is now on par with the desktop data scenarios. Which means that the answer to the above question needs to be broadcasted to a much bigger audience...

Here it is, from Laxmi Narsimha Rao, my colleague from SQL Server 2005 Mobile Edition team:

I wanted to let you know the following things before jumping into answering your questions:

1) SQL Mobile is unrestricted only for devices and tablet-pc
2) SQL Mobile is unrestricted for desktops that have either VS 2005 or SQL 2005 installed

Given that information, coming to your operations:

1) POPULATE – This is done on the desktop. It means that you should either have VS 2005 or SQL 2005 in order for SQL Mobile to work. 
    a. Say the desktop has VS 2005, you can populate the database using our System.Data.SqlServerCe namespace 
        i. SqlCeEngine – Create Database 
        ii. SqlCeConnection and SqlCeCommand – Populate the database 
        (Please note that SQL Mobile supports parameterized queries. Let the customer know about this to get best out of SQL Mobile.)
2) PUSH – This is nothing but copying the database file created in the above step to the device. There are lot of ways you can do this: 
    a. VS 2005 Auto Deployment – Add SQL Mobile .SDF file to the device project and when you hit F5, it automatically deploys the .SDF file too 
    b. Use Active Sync File Explorer and copy manually 
    c. Use RAPI

And the answers for your questions:

1) RDA, Merge Replication – None of these is needed to populate the database when you have the data at your hand. But any of these is needed when you have the data in SQL Server.
2) As explained above
3) This depends on what your device app is going to do with database on device. If your app is using the DB just as a local store, then you just need first two cabs. If your device app is going to do some sync with SQL Server, then you need the third cab.  
4) Covered by earlier answers and information 

Let me know if you need some more info and/or other clarifications on the above topic. In fact any topic on Data-on-Devices.

As a side note, I own the Visual Studio for Devices, Data components and I do have plans for a few posts on Data-on-Device. But if there is something specific that you want me to make a post on, I'd be glad. Just let me know...

See you then, in my next post...

Comments

  • Anonymous
    January 10, 2006
    The comment has been removed

  • Anonymous
    January 10, 2006
    Ah yes, one more thing.

    Since the time of the original inquiry late last year, we have become successful with Populate & Push using VS2005/SQL-Mobile on the development PC.

    So at this point, we only need help with items 3) & 4) as listed in my previous comments.

    And as long as I am here, let me reiterate a point from my original inquiry:

    "...About this same time MS was beginning to disseminate information about the upcoming SQL Server Mobile. At one point, on a SQL Server Mobile beta info web-page (now gone), a product manager spoke of Microsofts awareness that RDA and Replication, while great for corporate IT types, did not meet the needs of many ISV's, and that the shipping version of SQL Server Mobile would address this shortcoming and allow ISV's to develop vertical applications that populated SQL Server Mobile from the desktop."

    Thanks!

    EricR

  • Anonymous
    January 12, 2006
    Eric - I'm the PM for data and devices in Visual Studio 2005.

    I've sent a pretty long mail to the right folks on this.I'll post something back here the moment they get back to me.

    I know this sounds like a typical corporate response - but trust me, it isnt - we care and we'll get back to you as soon as we can.

    If you want to mail me, do so at sriramk at microsoft.com

  • Anonymous
    January 24, 2006
    I am an ISV in the same boat, too bad MS is trying to sink our boat. EricR, have you found a solution to this huge delimma yet or heard back from MS?

  • Anonymous
    February 06, 2006
    Also in the same little boat, I hope I don't have to try to port SQLite to WindowsCE, just because of licence issues with SQL Server 2005 (Mobile Edition)...

  • Anonymous
    April 06, 2006
    Same problem here. Why is MS complicating everything. To me this is an obvious need for many developers that are creating and selling to the masses. MS has also stopped support for ActiveSync via wi-fi because of some cry baby in an IT department somewhere. That's another issue though. Good post.

  • Anonymous
    April 10, 2006
    Eric, Joel, Bjorn and Tony: We are not trying to sink your boat. We are also not trying to complicate things. As a company we @ Microsoft strongly believe that we succeed only if you succeed.

    I think your issues should all be resolved with http://www.microsoft.com/sql/letter.mspx

    Let me know if you need more info...

  • Anonymous
    June 08, 2009
    PingBack from http://insomniacuresite.info/story.php?id=4365

  • Anonymous
    June 13, 2009
    PingBack from http://thestoragebench.info/story.php?id=1075

  • Anonymous
    June 16, 2009
    PingBack from http://fixmycrediteasily.info/story.php?id=6993