16.09.2019

Calculo De Limites Solo Lectura

  1. Calculo De Limites Solo Lectura De La
  2. Calculo De Limites Solo Lectura En
-->

Calculadora gratuita de limites – resolver limites paso por paso.

Calculo de limites solo lectura de la

En este tema se muestra cómo usar las clases de SDK de Open XML 2.5 para Office para abrir mediante programación un documento de hoja de cálculo para acceso de solo lectura.This topic shows how to use the classes in the Open XML SDK 2.5 for Office to open a spreadsheet document for read-only access programmatically.

Se requieren las siguientes directivas de ensamblado para compilar el código de este tema.The following assembly directives are required to compile the code in this topic.

Cuándo se debe abrir un documento para acceso de solo lecturaWhen to Open a Document for Read-Only Access

En algunos casos, desea abrir un documento para inspeccionar o recuperar parte de la información y desea hacerlo de tal manera que asegure que no se realicen cambios en el documento. En estas ocasiones, desea que el documento tenga acceso de solo lectura. En este tema se exponen varias formas de abrir un documento de hojas de cálculo con acceso de solo lectura mediante programación.Sometimes you want to open a document to inspect or retrieve some information, and you want to do this in a way that ensures the document remains unchanged. In these instances, you want to open the document for read-only access. This How To topic discusses several ways to programmatically open a read-only spreadsheet document.

Obtención de un objeto SpreadsheetDocumentGetting a SpreadsheetDocument Object

En Open XML SDK, la clase SpreadsheetDocument representa un paquete de documentos de Excel. Para crear un documento de Excel, cree una instancia de la clase SpreadsheetDocument y rellénela con partes. Como mínimo, el documento debe tener una parte de libro que sirva como contenedor para el documento y una parte de hoja de cálculo. En el paquete, el texto se representa como XML mediante el marcado SpreadsheetML.In the Open XML SDK, the SpreadsheetDocument class represents an Excel document package. To create an Excel document, you create an instance of the SpreadsheetDocument class and populate it with parts. At a minimum, the document must have a workbook part that serves as a container for the document, and at least one worksheet part. The text is represented in the package as XML using SpreadsheetML markup.

Para crear la instancia de clase desde un documento, debe llamar a uno de los métodos Open() de sobrecarga. Se proporcionan varios métodos Open, cada uno con una firma distinta. Los métodos que permiten especificar si un documento se puede editar se enumeran en la siguiente tabla.To create the class instance from the document that you call one of the Open() overload methods. Several Open methods are provided, each with a different signature. The methods that let you specify whether a document is editable are listed in the following table.

Limites
OpenOpenTema de referencia de la biblioteca de clasesClass Library Reference TopicDescripciónDescription
Open(String, Boolean)Open(String, Boolean)Open(String, Boolean)Open(String, Boolean)Crear una instancia de la clase SpreadsheetDocument desde el archivo especificado.Create an instance of the SpreadsheetDocument class from the specified file.
Open(Stream, Boolean)Open(Stream, Boolean)Open(Stream, Boolean)Open(Stream, Boolean)Crear una instancia de la clase SpreadsheetDocument desde la secuencia de E/S especificada.Create an instance of the SpreadsheetDocument class from the specified IO stream.
Open(String, Boolean, OpenSettings)Open(String, Boolean, OpenSettings)Open(String, Boolean, OpenSettings)Open(String, Boolean, OpenSettings)Crear una instancia de la clase SpreadsheetDocument desde el archivo especificado.Create an instance of the SpreadsheetDocument class from the specified file.
Open(Stream, Boolean, OpenSettings)Open(Stream, Boolean, OpenSettings)Open(Stream, Boolean, OpenSettings)Open(Stream, Boolean, OpenSettings)Crear una instancia de la clase SpreadsheetDocument desde la secuencia de E/S especificada.Create an instance of the SpreadsheetDocument class from the specified I/O stream.

En la tabla que se proporcionó anteriormente en este tema solo se enumeran los métodos Open que aceptan un valor booleano como segundo parámetro para especificar si un documento se puede editar o no. Para abrir un documento que tenga acceso de solo lectura, especifique False para este parámetro.The table earlier in this topic lists only those Open methods that accept a Boolean value as the second parameter to specify whether a document is editable. To open a document for read-only access, specify False for this parameter.

Tenga en cuenta que dos de los métodos Open crean una instancia de la clase SpreadsheetDocument basándose en una cadena como primer parámetro. El primer ejemplo del código de ejemplo usa esta técnica. Usa el primer método Open de la tabla que se proporcionó anteriormente en este tema, con una firma que necesita dos parámetros. El primer parámetro toma una cadena que representa el nombre de archivo de la ruta de acceso completa desde la que desea abrir el documento. El segundo parámetro es true o false. En este ejemplo se usa false, que indica que desea abrir el archivo con acceso de solo lectura.Notice that two of the Open methods create an instance of the SpreadsheetDocument class based on a string as the first parameter. The first example in the sample code uses this technique. It uses the first Open method in the table earlier in this topic; with a signature that requires two parameters. The first parameter takes a string that represents the full path file name from which you want to open the document. The second parameter is either true or false. This example uses false and indicates that you want to open the file as read-only.

El siguiente ejemplo de código llama al método Open.The following code example calls the Open Method.

Los otros dos métodos Open crean una instancia de la clase SpreadsheetDocument en función de un flujo de entrada y salida. Puede usar este procedimiento si, por ejemplo, tiene una aplicación de Microsoft SharePoint Foundation 2010 que usa flujo de entrada y salida, y desea usar SDK de Open XML 2.5 para trabajar con un documento.The other two Open methods create an instance of the SpreadsheetDocument class based on an input/output stream. You might use this approach, for example, if you have a Microsoft SharePoint Foundation 2010 application that uses stream input/output, and you want to use the Open XML SDK 2.5 to work with a document.

El siguiente ejemplo de código abre un documento basándose en una secuencia.The following code example opens a document based on a stream.

Imagine que tiene una aplicación que admite Open XML en el espacio de nombres System.IO.Packaging de la biblioteca de clases de .NET Framework, y desea usar SDK de Open XML 2.5 para trabajar con un paquete de solo lectura. Aunque SDK de Open XML 2.5 incluye sobrecargas de método que aceptan Package como primer parámetro, no existe ninguna que tome un valor Boolean como segundo parámetro para indicar si el documento debe o no abrirse para su edición.Suppose you have an application that uses the Open XML support in the System.IO.Packaging namespace of the .NET Framework Class Library, and you want to use the Open XML SDK 2.5 to work with a package as read-only. Whereas the Open XML SDK 2.5 includes method overloads that accept a Package as the first parameter, there is not one that takes a Boolean as the second parameter to indicate whether the document should be opened for editing.

Se recomienda abrir el paquete como de solo lectura primero, antes de crear la instancia de la clase SpreadsheetDocument, como se muestra en el segundo ejemplo de código. El siguiente ejemplo de código realiza esta operación.The recommended method is to open the package as read-only at first, before creating the instance of the SpreadsheetDocument class, as shown in the second example in the sample code. The following code example performs this operation.

Después de abrir el paquete de documentos de hojas de cálculo, puede tener acceso al elemento de libro principal. Para obtener acceso al elemento de libro principal, asigne una referencia al elemento de libro existente, como se muestra en el siguiente ejemplo de código.After you open the spreadsheet document package, you can access the main workbook part. To access the main workbook part, you assign a reference to the existing workbook part, as shown in the following code example.

Estructura de documento básicaBasic Document Structure

La estructura de documento básica de un documento SpreadsheetML se compone de elementos Sheets y Sheet, que hacen referencia a las hojas de cálculo del Libro (Workbook).The basic document structure of a SpreadsheetML document consists of the Sheets and Sheet elements, which reference the worksheets in the workbook.Se crea un archivo XML separado para cada Hoja de cálculo (Worksheet).A separate XML file is created for each Worksheet.Por ejemplo, el documento SpreadsheetML para un libro que tiene dos hojas de cálculo denominadas MySheet1 y MySheet2 está ubicado en el archivo Workbook.xml y es el siguiente.For example, the SpreadsheetML for a workbook that has two worksheets name MySheet1 and MySheet2 is located in the Workbook.xml file and is as follows.

Los archivos XML de hoja de cálculo contienen uno o más elementos de nivel de bloque como SheetData.The worksheet XML files contain one or more block level elements such as SheetData.sheetData representa la tabla de la celda y contiene uno o más elementos Row.sheetData represents the cell table and contains one or more Row elements.Un elemento row contiene uno o más elementos Cell.A row contains one or more Cell elements.Cada celda contiene un elemento CellValue que representa el valor de la celda.Each cell contains a CellValue element that represents the value of the cell.Por ejemplo, el documento SpreadsheetML para la primera hoja de cálculo de un libro, que solo tiene el valor 100 en la celda A1, está ubicado en el archivo Sheet1.xml y es el siguiente.For example, the SpreadsheetML for the first worksheet in a workbook, that only has the value 100 in cell A1, is located in the Sheet1.xml file and is as follows.

Con SDK de Open XML 2.5 puede crear contenido y estructuras de documentos con clases fuertemente tipadas que corresponden a los elementos SpreadsheetML. Puede encontrar estas clases en el espacio de nombres DocumentFormat.OpenXML.Spreadsheet. En la tabla siguiente se enumeran los nombres de las clases que corresponden a los elementos workbook, sheets, sheet, worksheet y sheetData.Using the Open XML SDK 2.5, you can create document structure and content that uses strongly-typed classes that correspond to SpreadsheetML elements. You can find these classes in the DocumentFormat.OpenXML.Spreadsheet namespace. The following table lists the class names of the classes that correspond to the workbook, sheets, sheet, worksheet, and sheetData elements.

Elemento SpreadsheetMLSpreadsheetML ElementClase de SDK de Open XML 2.5Open XML SDK 2.5 ClassDescripciónDescription
libro de trabajoworkbookDocumentFormat.OpenXml.Spreadsheet.WorkbookDocumentFormat.OpenXml.Spreadsheet.WorkbookEl elemento raíz de la parte de documento principal.The root element for the main document part.
sheetssheetsDocumentFormat.OpenXml.Spreadsheet.SheetsDocumentFormat.OpenXml.Spreadsheet.SheetsEl contenedor de las estructuras del nivel de bloque, como sheet, fileVersion y otras que se detallan en la especificación ISO/IEC 29500.The container for the block level structures such as sheet, fileVersion, and others specified in the ISO/IEC 29500 specification.
hojasheetDocumentFormat.OpenXml.Spreadsheet.SheetDocumentFormat.OpenXml.Spreadsheet.SheetUna hoja que apunta a un archivo de definición de hoja.A sheet that points to a sheet definition file.
worksheetworksheetDocumentFormat.OpenXml.Spreadsheet.WorksheetDocumentFormat.OpenXml.Spreadsheet.WorksheetUn archivo de definición de hoja que contiene los datos de la hoja.A sheet definition file that contains the sheet data.
sheetDatasheetDataDocumentFormat.OpenXml.Spreadsheet.SheetDataDocumentFormat.OpenXml.Spreadsheet.SheetDataLa tabla de celdas agrupadas por filas.The cell table, grouped together by rows.
rowrowDocumentFormat.OpenXml.Spreadsheet.RowDocumentFormat.OpenXml.Spreadsheet.RowUna fila en una tabla de celdas.A row in the cell table.
ccDocumentFormat.OpenXml.Spreadsheet.CellDocumentFormat.OpenXml.Spreadsheet.CellUna celda en una fila.A cell in a row.
vvDocumentFormat.OpenXml.Spreadsheet.CellValueDocumentFormat.OpenXml.Spreadsheet.CellValueEl valor de una celda.The value of a cell.

Intento de generar el marcado SpreadsheetML para agregar una hoja de cálculoAttempt to Generate the SpreadsheetML Markup to Add a Worksheet

El ejemplo de código muestra cómo, al intentar agregar una nueva hoja de cálculo, se muestra un error de excepción porque el archivo es de solo lectura.The sample code shows how, when you try to add a new worksheet, you get an exception error because the file is read-only.Cuando tenga acceso al cuerpo del elemento de documento principal, agregue una hoja de cálculo llamando al método AddNewPart<T>(String, String) para crear un nuevo WorksheetPart.When you have access to the body of the main document part, you add a worksheet by calling the AddNewPart<(String, String) method to create a newWorksheetPart .El siguiente ejemplo de código intenta agregar el nuevo elemento WorksheetPart.The following code example attempts to add the new WorksheetPart.

Código de ejemploSample Code

El siguiente ejemplo de código se usa para abrir un documento de hoja de cálculo para acceso de solo lectura. Se puede llamar al método OpenSpreadsheetDocumentReadonl mediante el siguiente código, que abre el archivo 'Sheet10.xlsx', a modo de ejemplo.The following code sample is used to open a Spreadsheet Document for Read-only Access. You can call the OpenSpreadsheetDocumentReadonl method by using the following code, which opens the file 'Sheet10.xlsx,' as an example.

A continuación, se muestra el código de ejemplo completo en C# y Visual Basic.The following is the complete sample code in both C# and Visual Basic.

Vea tambiénSee also

Otros recursosOther resources

Referencia de biblioteca de clases del SDK 2.5 de Open XMLOpen XML SDK 2.5 class library reference

-->

SE APLICA A: SQL Server Azure SQL Database Azure SQL Data Warehouse Almacenamiento de datos paralelos APPLIES TO: SQL Server Azure SQL Database Azure SQL Data Warehouse Parallel Data Warehouse

En este artículo se describen los límites de la capacidad de cálculo para las ediciones de SQL Server 2017SQL Server 2017 y sus diferencias en entornos físicos y virtualizados con los procesadores con hyperthreading.This article discusses compute capacity limits for editions of SQL Server 2017SQL Server 2017 and how they differ in physical and virtualized environments with hyperthreaded processors.

En esta tabla se describen las notaciones del diagrama anterior:This table describes the notations in the preceding diagram:

ValorValueDescripciónDescription
0..10..1Cero o unoZero or one
11Exactamente unoExactly one
1..*1..*Uno o másOne or more
0..*0..*Cero o másZero or more
1..21..2Uno o dosOne or two

Importante

Información ampliada:To elaborate further:

  • Una máquina virtual tiene uno o varios procesadores virtuales.A virtual machine (VM) has one or more virtual processors.
  • Uno o más procesadores virtuales se asignan exactamente a una máquina virtual.One or more virtual processors are allocated to exactly one virtual machine.
  • Cero o un procesador virtual se asigna a cero o más procesadores lógicos.Zero or one virtual processor is mapped to zero or more logical processors.En la asignación de núcleos a procesadores lógicos:When the mapping of virtual processors to logical processors is:
    • Uno a cero representa un procesador lógico desenlazado no utilizado por los sistemas operativos invitados.One to zero, it represents an unbound logical processor not used by the guest operating systems.
    • Uno a muchos representa un esfuerzo excesivo.One to many, it represents an overcommit.
    • Cero a muchos representa la ausencia de máquinas virtuales en el sistema host.Zero to many, it represents the absence of virtual machine on the host system.Las máquinas virtuales no usan ningún procesador lógico.So VMs don't use any logical processors.
  • Un socket se asigna a cero o más núcleos.A socket is mapped to zero or more cores.En la asignación de socket a núcleo:When the socket-to-core mapping is:
    • Uno a cero representa un socket vacío.One to zero, it represents an empty socket.No se instala ningún chip.No chip is installed.
    • Uno a uno representa un único chip de núcleo instalado en el socket.One to one, it represents a single-core chip installed in the socket.Esta asignación es poco frecuente hoy en día.This mapping is rare these days.
    • Uno a muchos representa un chip de varios núcleos instalado en el socket.One to many, it represents a multi-core chip installed in the socket.Los valores típicos son 2, 4 y 8.Typical values are 2, 4, and 8.
  • Un núcleo se asigna a uno o dos procesadores lógicos.A core is mapped to one or two logical processors.En la asignación de núcleos a procesadores lógicos:When the mapping of cores to logical processors is:
    • Uno a uno representa que el hyperthreading está desactivado.One to one, hyperthreading is off.
    • Uno a dos representa que el hyperthreading está activado.One to two, hyperthreading is on.

Las definiciones siguientes se aplican a los términos usados en este artículo:The following definitions apply to the terms used in this article:

  • Un subproceso o procesador lógico es un motor de cálculo lógico desde la perspectiva de SQL ServerSQL Server, el sistema operativo, una aplicación o un controlador.A thread or logical processor is one logical computing engine from the perspective of SQL ServerSQL Server, the operating system, an application, or a driver.

  • Una núcleo es una unidad de procesador.A core is a processor unit.Puede constar de uno o varios procesadores lógicos.It can consist of one or more logical processors.

  • Un procesador físico puede estar formado por uno o varios núcleos.A physical processor can consist of one or more cores.Un procesador físico es igual que un paquete de procesadores, o socket.A physical processor is the same as a processor package or a socket.

Los sistemas con más de un procesador físico o con procesadores físicos que tienen varios núcleos y/o hyperthreads permiten al sistema operativo ejecutar varias tareas simultáneamente.Systems with more than one physical processor or systems with physical processors that have multiple cores and/or hyperthreads enable the operating system to execute multiple tasks simultaneously.Cada subproceso de ejecución aparece como procesador lógico.Each thread of execution appears as a logical processor.Por ejemplo, si su equipo tiene dos procesadores de cuatro núcleos con el la función de hyperthreading habilitada y dos subprocesos por núcleo, tiene 16 procesadores lógicos: 2 procesadores x 4 núcleos por procesador x 2 subprocesos por núcleo.For example, if your computer has two quad-core processors with hyperthreading enabled and two threads per core, you have 16 logical processors: 2 processors x 4 cores per processor x 2 threads per core.Cabe mencionar que:It's worth noting that:

  • La capacidad de cálculo de un procesador lógico de un solo subproceso de un núcleo hyperthreaded es menor que la capacidad de cálculo de un procesador lógico del mismo núcleo con el hyperthreading deshabilitado.The compute capacity of a logical processor from a single thread of a hyperthreaded core is less than the compute capacity of a logical processor from that same core with hyperthreading disabled.

  • Sin embargo, la capacidad de cálculo de los dos procesadores lógicos del núcleo con hyperthreading es mayor que la capacidad de cálculo del mismo núcleo con el hyperthreading deshabilitado.The compute capacity of the two logical processors in the hyperthreaded core is greater than the compute capacity of the same core with hyperthreading disabled.

Cada edición de SQL ServerSQL Server tiene dos límites de capacidad de cálculo:Each edition of SQL ServerSQL Server has two compute capacity limits:

  • Un número máximo de sockets (o procesadores físicos o paquetes de procesador)A maximum number of sockets (or physical processors or processor packages)

  • Un número máximo de núcleos de los que ha informado el sistema operativoA maximum number of cores as reported by the operating system

Estos límites se aplican a una sola instancia de SQL ServerSQL Server.These limits apply to a single instance of SQL ServerSQL Server.Representan la capacidad máxima de cálculo que una sola instancia usará.They represent the maximum compute capacity that a single instance will use.No restringen el servidor en el que se puede implementar la instancia.They do not constrain the server where the instance may be deployed.De hecho, implementar varias instancias de SQL ServerSQL Server en el mismo servidor físico es una manera eficaz de usar la capacidad de procesamiento de un servidor físico con más sockets o núcleos que los límites de capacidad siguientes.In fact, deploying multiple instances of SQL ServerSQL Server on the same physical server is an efficient way to use the compute capacity of a physical server with more sockets and/or cores than the capacity limits allow.

En la siguiente tabla se especifican los límites de la capacidad de cálculo para una sola instancia de cada edición de SQL Server 2017SQL Server 2017:The following table specifies the compute capacity limits for a single instance of each edition of SQL Server 2017SQL Server 2017:

Edición deSQL ServerSQL ServerSQL ServerSQL Server editionCapacidad máxima de cálculo para una sola instancia (SQL ServerSQL ServerMotor de base de datosDatabase Engine)Maximum compute capacity for a single instance (SQL ServerSQL ServerMotor de base de datosDatabase Engine)Capacidad máxima de cálculo para una sola instancia (AS, RS)Maximum compute capacity for a single instance (AS, RS)
Enterprise Edition: licencia basada en núcleo*Enterprise Edition: Core-based Licensing*Sistema operativo máximoOperating system maximumSistema operativo máximoOperating system maximum
DesarrolladorDeveloperSistema operativo máximoOperating system maximumSistema operativo máximoOperating system maximum
EstándarStandardLimitada a menos de 4 sockets o 24 núcleosLimited to lesser of 4 sockets or 24 coresLimitada a menos de 4 sockets o 24 núcleosLimited to lesser of 4 sockets or 24 cores
ExpressExpressLimitada a menos de 1 socket o 4 núcleosLimited to lesser of 1 socket or 4 coresLimitada a menos de 1 socket o 4 núcleosLimited to lesser of 1 socket or 4 cores

*La licencia Enterprise Edition con licencia de servidor y acceso de cliente (CAL) está limitada a 20 núcleos por instancia de SQL ServerSQL Server.*Enterprise Edition with Server + Client Access License (CAL) licensing is limited to 20 cores per SQL ServerSQL Server instance.Esta licencia de licencias no está disponible para nuevos contratos. No hay ningún límite en el modelo de licencias de servidor basado en núcleos.(This licensing is not available for new agreements.) There are no limits under the Core-based Server Licensing model.

En un entorno virtualizado, el límite de capacidad de cálculo se basa en el número de procesadores lógicos, no de núcleos.In a virtualized environment, the compute capacity limit is based on the number of logical processors, not cores.Esto se debe a que la arquitectura de procesador no es visible para las aplicaciones invitadas.The reason is that the processor architecture is not visible to the guest applications.

Por ejemplo, un servidor con cuatro sockets poblados con procesadores de cuatro núcleos y la capacidad de habilitar dos hiperprocesos por núcleo contiene 32 procesadores lógicos con el hyperthreading habilitado,For example, a server that has four sockets populated with quad-core processors and the ability to enable two hyperthreads per core contains 32 logical processors with hyperthreading enabled.pero solo 16 procesadores lógicos con el hyperthreading deshabilitado.But it contains only 16 logical processors with hyperthreading disabled.Estos procesadores lógicos se pueden asignar a las máquinas virtuales del servidor.These logical processors can be mapped to virtual machines on the server.La carga de cálculo de las máquinas virtuales de este procesador lógico se asigna a un subproceso de ejecución en el procesador lógico del servidor host.The virtual machines' compute load on that logical processor is mapped to a thread of execution on the physical processor in the host server.

Puede que quiera deshabilitar el hyperthreading cuando el rendimiento de cada procesador virtual sea importante.You might want to disable hyperthreading when the performance for each virtual processor is important.Puede habilitar o deshabilitar el hyperthreading mediante una opción de BIOS del procesador durante la configuración del BIOS.You can enable or disable hyperthreading by using a BIOS setting for the processor during the BIOS setup.Sin embargo, normalmente se trata de una operación de ámbito de servidor que afectará a todas las cargas de trabajo que se ejecutan en el servidor.But it's typically a server-scoped operation that will affect all workloads running on the server.Esto puede sugerir que se deben separar las cargas de trabajo que se ejecutarán en entornos virtualizados de aquellas que se beneficiarían de aumentar el rendimiento de hyperthreading en un entorno físico del sistema operativo.This might suggest separating workloads that will run in virtualized environments from workloads that would benefit from the hyperthreading performance boost in a physical operating system environment.

Vea tambiénSee also

Calculo De Limites Solo Lectura De La

Ediciones y componentes de SQL Server 2016Editions and components of SQL Server 2016
Características compatibles con las ediciones de SQL Server 2016Features supported by the editions of SQL Server 2016
Especificaciones de capacidad máxima para SQL ServerMaximum capacity specifications for SQL Server
Quick-Start Installation of SQL Server 2016 (Instalación rápida de SQL Server 2016)Quickstart installation of SQL Server 2016

Obtener ayudaGet Help

Calculo De Limites Solo Lectura En

Colaborar en la documentación de SQLContribute SQL documentation

¿Sabía que puede editar el contenido usted mismo?Did you know that you could edit the content yourself?Si lo hace, no solo mejorará la documentación, sino que también se le acreditará como colaborador de la página.If you do so, not only will our documentation improve, but you'll also be credited as a contributor to the page.