UPDATE
Please download the latest version of this tool from JohnnyCantCode.com. I have updated this utility based on some feedback from users.
I added the ability to select the schema you wish to copy. For most databases, this will simply be "dbo".
I fixed a bug where the application did not recognize a valid version of "System.Data.SqlServerCe.dll".
Introduction
This utility will copy the schema and data from a normal SQL Server 2000/2005 database and export it to a SQL Server Compact Edition database. The tool supports version 3.1 or 3.5 of SQL Server Compact Edition.
Background
I was working on a mobile application and needed an easy way to manage the table relationships and indexes without having to resort to scripting. I was familiar with using SQL Server Management Studio so I decided that I would write a utility that converted a normal SQL Server database to a mobile database. This way, I could continue using the tool I normally use to create and maintain my databases.
Using the Code
Feel free to take a look at the code and offer your most gracious comments. The application uses a wizard to walk you through converting a database. I have also included a normal WINFORM that also does the conversion, but I stopped development on this in lieu of the wizard, so the form is incomplete. I will be maintaining this code and writing more about it on my blog at www.JohnnyCantCode.com. You can find the original post here.
Points of Interest
This utility will copy Indexes, Primary Keys, Foreign Keys, Table structure and data. SQL Server Compact Edition does not have support for Views, Triggers nor Stored Procedures, therefore this utility does not copy these.
History
I work as an independent software architect and senior developer. I have worked on many large enterprise projects as well as small single user applications.