The latest version of the ExportSqlCe command line utility for scripting entire SQL Compact database files has been released on CodePlex.
Since I last blogged about this utility, the following missing features have been added:
Unicode support – the script file is now in Unicode format, which means that all text data is scripted “properly”, also for non-English text.
Image/binary/varbinary in INSERTs – binary and image fields are now scripted with their proper contents (as a hex string), and not “System.Byte”
INSERT with IDENTITY columns – CREATE TABLE now properly scripts IDENTITY columns, and using the SET IDENTITY INSERT feature of SQL Compact 3.5, it is now possible to do inserts on the table with the IDENTITY column.Numeric fraction and precision
INSERT statement improvements – INSERTs are now scripted without single quotes around numeric fields, which improves readability, INSERT performance and script size.
Support for rowversion – rowversion (timestamp) is a read-only column and cannot be updated. Therefore the generated script has been improved to exclude rowversion fields in INSERT statements.
Foreign keys with multiple fields – were not properly scripted as reported (and partly fixed) by user hugo on CodePlex.
Handle merge replicated databases – Merge replicated database files contains a number of system fields and tables. These should not be scripted – this has been implemented.
Handle large tables – scripts of large tables are now flushed to disk in several files, to save memory.
Go and get the latest release/source, and give feedback at http://www.codeplex.com/ExportSqlCE