Accesso ai dati da oggetti di database CLR

Si applica a: SQL Server

Una routine CLR (Common Language Runtime) può accedere facilmente ai dati archiviati nell'istanza di Microsoft SQL Server in cui viene eseguita, nonché ai dati archiviati in istanze remote. I dati specifici cui può accedere la routine sono determinati dal contesto utente in cui viene eseguito il codice. Accedere ai dati dall'interno di un oggetto di database CLR usando .NET Framework provider di dati per SQL Server, detto anche SqlClient. Si tratta dello stesso provider usato dagli sviluppatori che accedono ai dati di SQL Server da applicazioni client gestite e di livello intermedio. Per questo motivo, è possibile sfruttare le conoscenze di ADO.NET e SqlClient nelle applicazioni client e di livello intermedio.

Nota

Per impostazione predefinita, ai metodi con tipo definito dall'utente e alle funzioni definite dall'utente non è consentito eseguire accesso ai dati. È necessario impostare la proprietà DataAccess di SqlMethodAttribute o SqlFunctionAttribute su DataAccessKind.Read per abilitare l'accesso ai dati di sola lettura da metodi definiti dall'utente (UDT) o funzioni definite dall'utente. Le operazioni di modifica dei dati non sono consentite da tipi definiti dall'utente o funzioni definite dall'utente e, in caso di un tentativo a tale scopo, vengono generate eccezioni in fase di esecuzione.

In questa sezione vengono illustrate solo le specifiche differenze funzionali e di comportamento durante l'accesso ai dati da un oggetto di database CLR. Per ulteriori informazioni su caratteristiche e funzionalità di ADO.NET, vedere la documentazione di ADO.NET inclusa in .NET Framework SDK.

Nella tabella seguente vengono elencati gli argomenti disponibili in questa sezione.

Connessione di contesto
Viene descritta la connessione di contesto a SQL Server.

Rappresentazione e credenziali per le connessioni
Viene descritta la rappresentazione di connessioni e credenziali di connessione.

Estensioni specifiche In-Process di SQL Server ad ADO.NET
Vengono illustrati gli oggetti SqlPipe, SqlContext, SqlTriggerContext e SqlDataRecord specifici del processo.

Integrazione con CLR e transazioni
Viene descritto il modo in cui il nuovo framework delle transazioni fornito nello spazio dei nomi System.Transactions si integra con ADO.NET e l'integrazione CLR di SQL Server.

Serializzazione XML da oggetti di database CLR
Viene illustrato come abilitare scenari di serializzazione XML di oggetti di database CLR all'interno di SQL Server.