Dispositivi e accesso ai dati
Aggiornamento: novembre 2007
Quando si realizzano applicazioni per l'accesso ai dati in .NET Compact Framework, è necessario tenere conto di quanto segue:
In .NET Compact Framework non sono supportate le seguenti classi:
Spazio dei nomi System.Data.OleDb
Classe System.Data.SqlClient.SqlClientPermission
Classe System.Data.SqlClient.SqlClientPermissionAttribute
Per motivi legati alle dimensioni e alle prestazioni dei dispositivi, inoltre, in .NET Compact Framework non sono supportate le funzionalità descritte nella tabella che segue.
Funzionalità non supportata
Osservazioni
Pool di connessioni
Un dispositivo può disporre in qualsiasi momento solo di un numero ridotto di connessioni a un'istanza di SQL Server.
Transazioni distribuite
Le transazioni non possono essere estese a più database o server. Durante una transazione distribuita, in System.Data.SqlClient verrà generata un'eccezione InvalidOperationException.
Connessioni attraverso gli alloggiamenti dei dispositivi
Sono supportate solo connessioni TCP/IP a un'istanza di SQL Server.
Connessioni crittografate
Non sono supportate connessioni crittografate a un'istanza di SQL Server.
Non sono supportate le seguenti proprietà di SqlConnection.ConnectionString:
Attachdbfilename
Max Pool Size
Connection Lifetime
Min Pool Size
Connection Reset
Network Library
Encrypt
Pooling
Enlist
I dati ANSI sono supportati solo per confronti SQL_Latin1_General_CP1_CI_AS da dispositivi basati sulla lingua inglese. Tutte le stringhe in .NET Framework sono di tipo Unicode. I dati ANSI di SQL Server vengono quindi convertiti in Unicode da System.Data.SqlClient mediante le classi Encoding di .NET Framework. In .NET Compact Framework sono infatti supportate tutte le classi Encoding, ma non tutte le tabelle codici.
Se sul dispositivo basato su Windows CE .NET non è disponibile la tabella codici per una colonna ANSI, System.Data.SqlClient non sarà in grado di eseguire operazioni di lettura o scrittura nella colonna. Quando non è disponibile la tabella codici per una conversione da ANSI a Unicode, in System.Data.SqlClient verrà generato un errore. Per informazioni sulle tabelle codici disponibili per uno specifico dispositivo basato su Windows CE .NET, contattare il produttore del dispositivo.
L'autenticazione di Windows è supportata. Nella stringa di connessione, tuttavia, devono essere sempre specificati l'ID utente e la password utilizzati per l'autenticazione nel controller di dominio.
Per le applicazioni in cui viene utilizzato System.Data.SqlClient in dispositivi basati su Microsoft Windows CE, è possibile utilizzare il protocollo di autenticazione NTLM (Windows NT LAN Manager) al posto dell'autenticazione SQL Server. A questo scopo, nella stringa di connessione devono essere incluse le proprietà riportate di seguito.
Integrated Security=SSPI; User ID=DOMAIN\username; Password=********;
Tramite System.Data.SqlClient non è possibile individuare automaticamente il numero della porta di un'istanza denominata o un server SQL in esecuzione su una porta personalizzata. Per connettersi a un server in esecuzione su una porta personalizzata, è necessario che il numero della porta venga specificato nella stringa di connessione, dopo la virgola, come nell'esempio seguente:
Data Source=myServer\myInstance,3860, UserID=test; ...