Доступ к устройствам и данным
Обновлен: Ноябрь 2007
При программировании приложений на доступ к данным, расположенным внутри платформы .NET Compact Framework, следует помнить следующее:
Платформа .NET Compact Framework не поддерживает следующие классы:
Пространство имен System.Data.OleDb
Класс System.Data.SqlClient.SqlClientPermission
Класс System.Data.SqlClient.SqlClientPermissionAttribute
В связи с действующими для устройств ограничениями на размер и производительность платформа .NET Compact Framework не поддерживает функции, описанные в следующей таблице.
Неподдерживаемые функциональные возможности
Примечания
Объединение подключений в пул
Устройство может иметь лишь небольшое число подключений к экземпляру SQL Server.
Распределенные транзакции
Транзакции не могут распределяться по нескольким базам данных или серверам. System.Data.SqlClientсоздает исключение InvalidOperationException во время распределенной транзакции.
Подключение через гнезда устройств
Поддерживаются только подключения к экземпляру SQL Server, выполняемые с помощью протокола TCP/IP.
Шифрованные подключения
Шифрованные подключения к экземпляру SQL Server не поддерживаются.
Следующие свойства SqlConnection.ConnectionString не поддерживаются:
attachdbfilename
max pool size
connection lifetime
min pool size
connection reset
network library
encrypt
pooling
enlist
Данные ANSI поддерживаются только для параметров сортировки SQL_Latin1_General_CP1_CI_AS, передаваемых с устройства, на котором для интерфейса пользователя установлен английский язык. Все строки в платформе .NET Framework имеют формат Юникода. System.Data.SqlClient преобразует данные ANSI в SQL Server в формат Юникода с помощью классов кодировок платформы .NET Framework. Хотя платформа .NET Compact Framework поддерживает классы кодировок, она поддерживает не все кодовые страницы.
Кроме того, значение System.Data.SqlClient нельзя считать из столбца ANSI или записать в него, если кодовая страница для этого столбца недоступна на устройстве, основанном на Windows CE .NET. когда кодовая страница для преобразования из ANSI в Юникод недоступна, System.Data.SqlClient вызывает ошибку. Сведения о кодовых страницах, доступных на определенном устройстве, основанном на Windows CE .NET, можно получить у производителя устройства.
Проверка подлинности Windows поддерживается, однако идентификатор и пароль пользователя, используемые для проверки подлинности в контроллере домена, всегда должны быть указаны в строке подключения.
Приложения, которые используют System.Data.SqlClient на устройствах, основанных на Microsoft Windows CE, вместо проверки подлинности SQL Server могут использовать протокол проверки подлинности Windows NT LAN Manager (NTLM). Для этого строка подключения должна содержать следующие свойства:
Integrated Security=SSPI; User ID=DOMAIN\username; Password=********;
System.Data.SqlClient не может автоматически определить номер порта именованного экземпляра или сервера SQL Server, запущенного на настраиваемом порте. Чтобы подключиться к серверу, запущенному на настраиваемом порте, номер этого порта необходимо указать через запятую в строке подключения; например:
Data Source=myServer\myInstance,3860, UserID=test; ...