Compartir a través de


MARS (Léame)

Actualizado: 17 de julio de 2006

Este ejemplo muestra cómo usar la característica MARS (Conjuntos de resultados activos múltiples). MARS permite ejecutar varios comandos en la misma conexión, aunque es posible que todavía no se devuelvan completamente al cliente todos los resultados de la ejecución de uno o más comandos.

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.

Ubicación predeterminada: unidad:\Archivos de programa\Microsoft SQL Server\90\Samples\Engine\

Data Access\ADO\MARS

Escenario

AdventureWorks Cycles desea elevar el costo estándar y el precio de lista de sus bicicletas más populares porque los precios de estas bicicletas han aumentado debido a incrementos en el costo de la pintura. El aumento de precio varía según el color de la pintura.

Lenguajes

Transact-SQL, Visual C# y Visual Basic.

Características

El ejemplo MARS usa las siguientes características de SQL Server 2005 y Microsoft .NET Framework versión 2.0:

Área de aplicación Características

Global

MARS, ADO.NET 2.0, procedimientos almacenados Transact-SQL

Requisitos previos

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

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

    ms160937.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, deberá hacer lo siguiente:

Generar el ejemplo

  1. Compile el ejemplo con Visual Studio y el archivo de solución que se encuentra en el directorio CS, o bien utilice la siguiente línea de comandos msbuild en una ventana del símbolo del sistema de .NET Framework o Microsoft Visual Studio 2005:

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

Ejecutar el ejemplo

Para ejecutar el ejemplo, deberá hacer lo siguiente:

Ejecutar el ejemplo

  1. Abra la secuencia de comandos scripts\install.sql usando SQL Server Management Studio. Ejecute el contenido de este archivo o ejecute el siguiente comando en una ventana del símbolo del sistema:

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

  2. En una ventana de símbolo del sistema, ubique el directorio CS\MARS\bin\debug y ejecute el comando siguiente:

    mars

Eliminar el ejemplo

Para restablecer los datos modificados por este ejemplo y quitar el ejemplo, haga lo siguiente:

Eliminar el ejemplo

  1. Abra la secuencia de comandos Scripts\cleanup.sql con Management Studio. Ejecute el contenido de este archivo o ejecute el siguiente comando en una ventana del símbolo del sistema:

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

Comentarios

Tenga siempre en cuenta que sería más eficiente usar JOIN en una actualización o consulta del servidor en lugar de usar MARS. Por ejemplo, podría necesitar saber el identificador de pedido de venta, el identificador de cliente, el número de producto, la cantidad del pedido y la cantidad total de artículos de línea para cada registro de detalle de pedido de venta para marzo de 2004. Aunque puede escribir esta consulta con MARS, es más eficaz escribirla con JOIN, como se muestra.

SELECT SOH.SalesOrderID, SOH.CustomerID, SOD.ProductID, 
  SOD.OrderQty, SOD.LineTotal
FROM Sales.SalesOrderHeader as SOH
JOIN Sales.SalesOrderDetail as SOD 
  ON SOH.SalesOrderID = SOD.SalesOrderID
WHERE SOH.OrderDate >= CONVERT(datetime, '20040301') 
  AND SOH.OrderDate < CONVERT(datetime, '20040401')
ORDER BY SOH.SalesOrderID;

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.