Compartir a través de


Control de objetos grandes (LOB)

Actualizado: 5 de diciembre de 2005

El ejemplo HandlingLOBUsingCLR para SQL Server 2005 muestra la transferencia de objetos grandes (LOB) entre SQL Server y un sistema de archivos que está disponible en el servidor utilizando procedimientos almacenados de Common Language Runtime (CLR). Este ejemplo muestra cómo obtener acceso a los archivos en el código del servidor, y cómo invocar después consultas dinámicas y procedimientos almacenados desde procedimientos almacenados basados en CLR. También muestra cómo eliminar del Registro y cómo registrar métodos y ensamblados de CLR mediante Transact-SQL.

El directorio de instalación predeterminado es unidad:\Archivos de programa\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR.

Escenario

Un programador desea copiar imágenes entre SQL Server y el sistema de archivos del servidor.

Lenguajes

Transact-SQL, Visual C# y Visual Basic.

Características

El ejemplo HandlingLOBUsingCLR utiliza las siguientes características de SQL Server:

Área de la aplicación Características

Global

Procedimientos almacenados de CLR; llamada a procedimientos almacenados de Transact-SQL desde procedimientos almacenados de CLR; el tipo de datos VARBINARY(MAX).

Requisitos previos

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

  • SQL Server 2005 o SQL Server 2005 Express Edition (SQL Server Express). Puede obtener SQL Server Express sin cargo desde el sitio Web.
  • La base de datos AdventureWorks incluida en SQL Server 2005, que también está disponible en el sitio Web para programadores de SQL Server.
  • Los ejemplos de SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005). Estos ejemplos están incluidos en SQL Server 2005. Puede descargar la última versión de los ejemplos en el sitio Web para programadores de SQL Server.
  • .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. Puede obtener .NET Framework SDK sin cargo. Vea Instalar .NET Framework SDK.

Generar el ejemplo

Si todavía no ha creado el archivo de clave de nombre seguro ExternalSampleKey.snk, siga estas instrucciones para generarlo.

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 Visual Studio 2005, Visual Studio Tools y, a continuación, haga clic en Visual Studio 2005 Command Prompt.

    O bien

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

  2. En el símbolo del sistema, use el comando de cambio de directorio (CD) para cambiar la carpeta actual de la ventana del símbolo del sistema a la carpeta Samples.

    [!NOTA] Para determinar la carpeta donde se encuentran los ejemplos, haga clic en Inicio, seleccione Todos los programas, Microsoft SQL Server 2005, Documentation and Tutorials y, a continuación, haga clic en Samples Directory. Si se usó la ubicación de instalación predeterminada, los ejemplos se encuentran en <system_drive>:\Archivos de programa\Microsoft SQL Server\90\Samples.

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

    sn -k ExternalSampleKey.snk

    ms160944.note(es-es,SQL.90).gifImportante:
    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, haga lo siguiente:

Generar el ejemplo

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

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

  2. Asegúrese de que la base de datos de 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 de la secuencia de comandos 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 Visual C# o el proyecto Visual Basic, en SQL Server Management Studio. Ejecute la secuencia de comandos que contiene el archivo o ejecute un comando similar al siguiente en el símbolo del sistema:

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

    Esta secuencia de comandos hace lo siguiente:

Ejecutar el ejemplo

Para ejecutar el ejemplo, haga lo siguiente:

Ejecutar el ejemplo

  1. Para leer una imagen en la base de datos, invoque una secuencia de comandos parecida a la siguiente:

    exec GetPhotoFromDB 70, 'C:\Temp\', 'test6.gif'

    go

    Asegúrese de que existe el directorio que ha especificado.

  2. Para escribir una imagen en la base de datos, invoque una secuencia de comandos parecida a la siguiente:

    exec PutPhotoIntoDB 70, 'C:\Temp\', 'test1.gif'

    go

    En el archivo error.log del directorio especificado se informará de todos los errores. Para obtener secuencias de comandos que sean parecidas a las de este procedimiento, vea el archivo Scripts\test.sql.

Quitar el ejemplo

Para quitar el ejemplo, haga lo siguiente:

Quitar el ejemplo

  1. Abra el archivo scripts\cleanup.sql en Management Studio y ejecute la secuencia de comandos que contiene. O bien, ejecute el siguiente comando en el símbolo del sistema:

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

Comentarios

El lenguaje CLR para SQL Server 2005 o SQL Server 2005 Express Edition 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.

Vea también

Tareas

Controlar objetos binarios grandes (LOB) mediante ADO.NET

Conceptos

Ejemplos de programación de CLR

Otros recursos

Database Engine .NET Framework Programming

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

5 de diciembre de 2005

Contenido modificado:
  • Se cambiaron las instrucciones para generar un archivo de clave, incluidos el nombre y la ubicación del archivo.