Acesso aos dados dos objetos de banco de dados CLR

Aplica-se a: SQL Server

Uma rotina CLR (Common Language Runtime) pode acessar facilmente os dados armazenados na instância do Microsoft SQL Server na qual ela é executada, bem como os dados armazenados em instâncias remotas. Os dados específicos que a rotina pode acessar são determinados pelo contexto de usuário no qual o código está sendo executado. Acesse dados de dentro de um objeto de banco de dados CLR usando o Provedor de Dados do .NET Framework para SQL Server, também conhecido como SqlClient. Esse é o mesmo provedor usado por desenvolvedores que acessam dados do SQL Server de aplicativos gerenciados de cliente e camada intermediária. Por isso, você pode aproveitar seu conhecimento de ADO.NET e SqlClient em aplicativos cliente e de camada intermediária.

Observação

Os métodos de tipos definidos pelo usuário e as funções definidas pelo usuário não são permitidos para executar o acesso a dados por padrão. Você deve definir a propriedade DataAccess de SqlMethodAttribute ou SqlFunctionAttribute como DataAccessKind.Read para habilitar o acesso a dados somente leitura de métodos UDT (tipo definido pelo usuário) ou funções definidas pelo usuário. As operações de modificação de dados não são permitidas de UDTs ou de funções definidas pelo usuário e lançam exceções em tempo de execução, se houver alguma tentativa.

Esta seção aborda apenas as diferenças funcionais e comportamentais específicas ao acessar dados de um objeto de banco de dados de CLR. Para obter mais informações sobre os recursos e a funcionalidade do ADO.NET, consulte a documentação do ADO.NET incluída no SDK do .NET Framework.

A tabela a seguir lista os tópicos desta seção.

Conexão de contexto
Descreve a conexão de contexto com o SQL Server.

Representação e credenciais para conexões
Descreve as conexões de representação e as credenciais de conexão.

Extensões específicas em processo do SQL Server para o ADO.NET
Discute os objetos SqlPipe, SqlContext, SqlTriggerContext e SqlDataRecord específicos do processo.

Integração CLR e transações
Descreve como a nova estrutura de transação fornecida no namespace System.Transactions se integra à integração CLR do ADO.NET e do SQL Server.

Serialização de XML de objetos de banco de dados CLR
Explica como habilitar cenários de serialização XML de objetos de banco de dados CLR dentro do SQL Server.