Share via


Ejemplo Readme_Send DataSet

Este ejemplo sólo funciona con SQL Server 2005 y SQL Server 2008. No funcionará con ninguna versión de SQL Server anterior a SQL Server 2005.

El ejemplo Send DataSet muestra cómo devolver al cliente un ADO.NET basado en DataSet dentro de un procedimiento almacenado basado en Common Language Runtime (CLR) del servidor en forma de conjunto de resultados. Esto resulta útil, por ejemplo, cuando dicho procedimiento almacenado rellena un DataSet con los resultados de una consulta y, después, manipula los datos incluidos en el mismo. También es útil si el procedimiento almacenado crea y rellena un DataSet desde el principio.

El ejemplo está compuesto de dos clases: DataSetUtilities y TestSendDataSet. El método SendDataSet de la clase DataSetUtilities implementa un modo general de transmitir el contenido de una instancia de un DataSet al cliente. El método DoTest que se define en la clase TestSendDataSet comprueba que el método SendDataSet funciona creando un conjunto de datos y rellenándolo con datos del procedimiento almacenado usp_GetTwoBOMTestData de Transact-SQL. El procedimiento usp_GetTwoBOMTestData ejecuta el procedimiento almacenado uspGetBillOfMaterials de Transact-SQL dos veces para consultar de forma recursiva la lista de materiales de dos productos especificados como parámetros en el procedimiento almacenado usp_GetTwoBOMTestData. Generalmente, después de rellenar el conjunto de datos, los datos se modificarían antes de invocar a SendDataSet para entregar al cliente los datos del conjunto de datos en forma de conjunto de resultados. Para simplificar, este ejemplo devuelve los datos sin modificar.

Instalar el directorio: Programmability\CLR\SendDataSet C:\Archivos de programa\Microsoft SQL Server\100\Samples\Engine\

Para poder ver o trabajar con las bases de datos de ejemplo y los ejemplos de SQL Server, se deben descargar e instalar antes. Para obtener más información, vea Consideraciones para instalar ejemplos y bases de datos de ejemplo de SQL Server.

Escenario

Jane es desarrolladora en Adventure Works Cycles. Ha recopilado información de uno de los procedimientos almacenados basados en CLR en un DataSet y desea devolver la información incluida en él a su aplicación cliente.

Lenguajes

Transact-SQL, Visual C# y Visual Basic.

Características

El ejemplo Send DataSet usa las siguientes características de SQL Server.

Área de aplicación Características

Global

CLR, metadatos, DataSet, procedimientos almacenados, CTE

Requisitos previos

Antes de ejecutar este ejemplo, asegúrese de que esté instalado el siguiente software:

  • Microsoft, SQL Server o SQL Server Express) Puede obtener SQL Server Express de forma gratuita desde el sitio web de Documentación y ejemplos de SQL Server Express.
  • La base de datos AdventureWorks que está disponible en el sitio web SQL Server Developer (en inglés).
  • Los ejemplos de SQL Server Database Engine (Motor de base de datos de SQL Server) disponibles en el sitio web SQL Server Developer .
  • .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. Puede obtener el SDK de .NET Framework de forma gratuita. Vea Instalar la documentación de .NET Framework.

Generar el ejemplo

Si aún no ha creado un archivo de clave de nombre seguro, genere este archivo mediante las siguientes instrucciones.

Para generar un archivo de clave de nombre seguro

  1. Abra un símbolo del sistema de Microsoft Visual Studio 2005. Haga clic en Inicio, seleccione Todos los programas, Microsoft .NET Framework SDK 2.0 y, a continuación, haga clic en Símbolo del sistema de SDK.

    -- O bien --

    Abra un símbolo del sistema de Microsoft .NET Framework. Haga clic en Inicio, seleccione Todos los programas, Microsoft .NET Framework SDK 2.0 y, a continuación, haga clic en SDK Command Prompt.

  2. Use el comando de cambio de directorio (CD) para cambiar el directorio actual de la ventana del símbolo del sistema a la carpeta en la que están instalados los ejemplos.

    Nota

    Para determinar la carpeta donde se encuentran los ejemplos, haga clic en el botón Inicio, seleccione Todos los programas, Microsoft SQL Server, Documentación y tutoriales y, a continuación, haga clic en el directorio Ejemplos. Si se usó la ubicación de instalación predeterminada, los ejemplos se encuentran en <unidadDelSistema>:\Archivos de programa\Microsoft SQL Server\100\Samples.

  3. En el símbolo del sistema, ejecute el comando siguiente para generar el archivo de clave:

    sn -k SampleKey.snk

    Importante

    Para obtener más información acerca del par de claves de nombre seguro, vea el apartado sobre informes de seguridad de nombres seguros y seguridad en .NET Framework en el centro de desarrollo de .NET de MSDN.

Para generar el ejemplo Send DataSet

  1. Compile el ejemplo mediante Visual Studio 2005 y la solución de Visual Studio proporcionada o mediante Microsoft MSBuild, que se incluye en el SDK 2.0 de .NET Framework. Ejecute un comando similar al siguiente en un símbolo del sistema:

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\SendDataSet.sln

  2. Asegúrese de que la base de datos AdventureWorks esté instalada.

  3. Si no ha instalado los ejemplos de SQL Server Database Engine (Motor de base de datos de SQL Server) en la ubicación predeterminada, modifique la ruta de acceso de la parte CREATE ASSEMBLY del script que se encuentra en Scripts\InstallCS.sql y Scripts\InstallVB.sql para que haga referencia a la ubicación en la que se han instalado los ejemplos.

  4. Si no es administrador de la instancia de SQL Server que utiliza, debe hacer que un administrador le conceda el permiso CreateAssembly para completar la instalación.

  5. Abra el archivo scripts\installCS.sql o scripts\installVB.sql, dependiendo de si ha compilado el proyecto de Visual C# o el de Visual Basic en Microsoft SQL Server Management Studio. Ejecute el script que contiene el archivo o ejecute un comando similar al siguiente en una ventana del símbolo del sistema:

    sqlcmd -E -I -i Scripts\InstallCS.sql

Ejecutar el ejemplo

Para ejecutar el ejemplo Send DataSet

  1. Abra el archivo scripts\test.sql en Management Studio y ejecute el script que contiene. O bien, ejecute el comando siguiente en una ventana del símbolo del sistema:

    sqlcmd -E -I -i Scripts\test.sql

Quitar el ejemplo

Para quitar el ejemplo Send DataSet

  1. Abra el archivo scripts\cleanup.sql en Management Studio y ejecute el script que contiene. O bien ejecute el comando siguiente en una ventana del símbolo del sistema:

    sqlcmd -E -I -i Scripts\cleanup.sql

Comentarios

El CLR para SQL Server o SQL Server Express debe estar habilitado para que este ejemplo funcione correctamente.

Los ejemplos se proporcionan exclusivamente con fines formativos. No se han diseñado para utilizarse en un entorno de producción y no se han probado en ningún entorno de este tipo. Microsoft no ofrece soporte técnico para estos ejemplos. Las aplicaciones y los ensamblados de ejemplo no se deben conectar ni usar con la base de datos de SQL Server de producción ni con el servidor de informes sin el permiso del administrador del sistema.