Devices and Data Access
When you program applications to access data within the .NET Compact Framework, consider the following:
The .NET Compact Framework does not support the following classes:
Because of size and performance considerations for devices, the .NET Compact Framework does not support the functionalities described in the following table.
A device can have only a small number of connections to an instance of SQL Server at any time.
Transactions cannot span databases or servers. System.Data.SqlClient generates an InvalidOperationException during a distributed transaction.
Connections through device cradles
Only TCP/IP connections to an instance of SQL Server are supported.
Encrypted connections to an instance of SQL Server are not supported.
The following SqlConnection.ConnectionString properties are not supported.
max pool size
min pool size
ANSI data is supported only for SQL_Latin1_General_CP1_CI_AS collations from an English device. All strings in the .NET Framework are Unicode. System.Data.SqlClient converts ANSI data in SQL Server to Unicode using the .NET Framework Encoding classes. Although the Encoding classes are supported in the .NET Compact Framework, not all code pages are.
Also, System.Data.SqlClient cannot read from or write to an ANSI column if the code page for the column is not available on the Windows CE .NET-based device. System.Data.SqlClient generates an error when the code page for an ANSI-to-Unicode conversion is not available. For information about code pages that are available to a specific Windows CE .NET-based device, contact the device manufacturer.
Windows Authentication is supported; however, the user ID and password used for authentication within the domain controller must always be specified in the connection string.
Applications using System.Data.SqlClient on Microsoft Windows CE-based devices can use the Windows NT LAN Manager (NTLM) authentication protocol, instead of using SQL Server authentication. To do this, the connection string must include the following properties:
Integrated Security=SSPI; User ID=DOMAIN\username; Password=********;
System.Data.SqlClient cannot automatically discover the port number of a named instance or a SQL Server running on a custom port. To connect to a server running on a custom port, the port number must be specified in the connection string after the comma; for example:
Data Source=myServer\myInstance,3860, UserID=test; ...