Share via


Usage Scenarios and Examples for Common Language Runtime (CLR) Integration

SQL Server includes sample applications, package samples, and numerous coding samples that you can use to learn about the programmability features of common language runtime (CLR) integration.

The following table describes the CLR integration programmability samples that are available on CodePlex; see SQL Server Database Engine Samples for more information.

Name

Description

SQL Server Database Engine Samples

Provides utilities that form an extra layer of functionality on top of the base AdventureWorks2008R2 sample database.

Supplementary-Aware String Manipulation

Shows the implementation of five supplementary-aware Transact-SQL string functions that can handle both Unicode and surrogate strings.

Large Object (LOB) Handling

Demonstrates transferring large binary objects (LOBs) between SQL Server and a file system accessible to the server using CLR stored procedures.

In-Process Data Access Sample

Contains a number of simple functions demonstrating various features of the CLR in-process data access provider.

String Split Table-Valued Function (TVF)

Contains a streaming table-valued function (TVF), written in Visual C# and Visual Basic, which splits a comma-separated string into a table with one column.

UDT Utilities

Contains a number of user-defined data type (UDT) utility functions.

User-Defined Data Type (UDT) Sample

Shows the creation and use of a simple UDT from both Transact-SQL and a client application using System.Data.SqlClient.

UTF8 String User-Defined Data Type (UDT)

Demonstrates the implementation of a UDT that extends the type system of the database to provide storage for UTF8 encoded values.

Calendar-Aware Date/Time UDTs

Defines two UDTs that provide calendar-aware handling of dates and times.

Result Set Sample

Demonstrates how to execute commands while reading through results of a query, without opening a new connection and without reading all results into memory.

Array Parameter Sample

Demonstrates how to create, update, or delete a set of rows in a database by passing an array of information from a client to a CLR integration stored procedure on the server. This is done using a UDT.

Hello World Sample

Demonstrates the basic operations to create, deploy, and test a simple CLR integration-based stored procedure.

Hello World Ready Sample

Demonstrates the basic operations to create, deploy, and test a simple world ready CLR integration-based stored procedure.

Impersonation Sample

Demonstrates how to use impersonation to use the credentials passed from the client. This is done to access operating system protected resources when you are using integrated security.

Spatial Sample

Demonstrates how to use impersonation to use the credentials passed from the client to access operating system protected resources, such as files, when you are using integrated security.

Oracle TVF Sample

Demonstrates how to invoke the managed code interface to Oracle to expose the results of any Oracle query as a table-valued function.

Send DataSet Sample

Demonstrates how to return an ADO.NET based DataSet within a server side CLR-based stored procedure as a result set to the client.

System.Transactions Sample

Demonstrates controlling transactions by using the managed APIs located in the System.Transactions namespace.