Hello World Ready (ejemplo)

Actualizado: 5 de diciembre de 2005

El ejemplo Hello World Ready muestra las operaciones básicas relacionadas con la creación, implementación y prueba de un procedimiento internacionalizado simple almacenado basado en la integración de Common Language Runtime (CLR). Un componente internacionalizado se puede traducir fácilmente a distintos idiomas para diferentes mercados del mundo entero sin cambiar el código fuente del componente. Este ejemplo también muestra cómo devolver datos a través de un parámetro de salida y a través de un registro, construido dinámicamente por el procedimiento almacenado y devuelto al cliente.

Este ejemplo es casi idéntico al descrito en Hello World (ejemplo), salvo que es más fácil y seguro adaptar esta aplicación. Para cambiar el texto traducido, se requiere lo siguiente:

  1. Cambiar un archivo XML (el archivo .resx) correspondiente a la referencia cultural en particular en el directorio de recursos.
  2. Generar el archivo de recursos de la referencia cultural con resgen.
  3. Generar la DLL satélite actualizada para esa referencia cultural.
  4. Quitar y agregar ese ensamblado en SQL Server.

El código fuente y el ensamblado para el procedimiento almacenado CLR en sí no cambia. Se proporciona una secuencia de comandos build.cmd en el directorio de recursos que muestra cómo compilar y vincular los ensamblados de recursos.

Aunque el código fuente de la aplicación crea un administrador de recursos basado en el ensamblado que se ejecuta en el momento, no es necesario incrustar los recursos que no dependen de la referencia cultural en la DLL que contiene el procedimiento almacenado. El atributo System.Resources.NeutralResourcesLanguage que se usa en los archivos AssemblyInfo.cs o AssemblyInfo.vb permite que los recursos que no dependen de una referencia cultural existan en una DLL satélite. Es mucho mejor usar una DLL independiente con este fin, de modo que, cuando deba agregarse o cambiarse un texto traducido, no sea necesario cambiar la DLL primaria que contiene el procedimiento almacenado de CLR. Esto resulta especialmente útil para tipos definidos por el usuario CLR que podrían tener columnas y otras dependencias que dificultarían la acción de quitar y volver a agregar el tipo.

Normalmente, las versiones de DLL satélite deben ser idénticas a la versión del ensamblado principal. Sin embargo, se puede usar el atributo SatelliteContractVersion para permitir la actualización del ensamblado principal sin actualizar también los ensamblados satélite. Para obtener más información, vea la clase ResourceManager en la documentación de Microsoft .NET Framework versión 2.0 SDK.

Directorio de instalación: unidad:\Archivos de programa\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HelloWorldReady\

Escenario

Jane es programadora para Adventure Works Cycles y debe saber usar los aspectos básicos del uso de los procedimientos almacenados de integración CLR. También debe saber cómo preparar sus procedimientos almacenados de integración CLR para que sean internacionalizados, usando recursos correspondientes a la técnica utilizada por su equipo.

Lenguajes

Transact-SQL, Visual C# y Visual Basic.

Características

El ejemplo Hello World Ready usa las siguientes características de SQL Server.

Área de aplicación Características

Global

CLR, metadatos

Traducción

Recursos

Requisitos previos

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

  • Microsoft SQL Server 2005 o bien Microsoft 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 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 Símbolo del sistema de SDK.

  2. Use el comando de cambio de directorio (CD) para cambiar el directorio actual a la carpeta donde 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 encontrarán en <unidadDeSistema>:\Archivos de programa\Microsoft SQL Server\100\Ejemplos.

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

    sn -k SampleKey.snk

    ms160899.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 Hello World Ready

  1. Compile el ejemplo mediante Visual Studio 2005 y la solución 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 el símbolo del sistema del SDK:

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

  2. Compile los ensamblados satélite al ejecutar el archivo build.cmd proporcionado en el directorio de recursos en un símbolo del sistema de .NET Framework o Visual Studio. Este archivo invoca resgen, que se incluye en Visual Studio o .NET Framework SDK.

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

  4. 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 sección 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.

  5. Si no es administrador para la instancia de SQL Server que está usando, debe hacer que un administrador le otorgue permiso CreateAssembly para completar la instalación.

  6. 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 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

Ejecutar el ejemplo

Para ejecutar el ejemplo Hello World Ready

  1. Abra el archivo scripts\test.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\test.sql

Eliminar el ejemplo

Para eliminar el ejemplo Hello World Ready

  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 CLR para SQL Server 2005 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.

Vea también

Tareas

Hello World (ejemplo)
UDT de fechas y horas para calendario

Otros recursos

CREATE ASSEMBLY (Transact-SQL)
DROP ASSEMBLY (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DROP PROCEDURE (Transact-SQL)

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.