.NET Compact Framework Data Provider for SQL Server Mobile connection strings

SQL Server Compact

How to specify the location of the SDF file

Often times the .SDF database is not running in the current directory so it becomes necessary to programatically set the path to the SDF file. This is an example (.net C#) on how to do this when the SDF file is located in the same directory as the executing application.

Data Source=" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + "\\MyData.sdf;Persist Security Info=False;

Specifying the maximum buffer size

The largest amount of memory that can be in use before the server starts flushing changes to disk is by default 640 kB. Override this by using the following connection string.

Data Source=MyData.sdf;Max Buffer Size=1024;Persist Security Info=False;

Encryption enabled

Use this connection string to enable encryption on the database.

Data Source=MyData.sdf;Encrypt Database=True;Password=myPassword;File Mode=shared read;Persist Security Info=False;

The Encrypt Database="True" pair is really not necessary as the presence of the Password-parameter itself turns on encryption for the connection.

Exclusive access

Use this one to disallow other processes from opening or modifying the database while you have it open.

Data Source=MyData.sdf;File Mode=Exclusive;Persist Security Info=False;

Case sensitive database

Upon database creation the default is case insensitive, use this one for a case sensitive database.

Data Source=MyData.sdf;Case Sensitive=True;Persist Security Info=False;

This allows you to have multiple values, wich only deffer in lower / upper case, in a unique column.

This setting is a database creation time option and is ignored when connecting to an existing database.