1011
IBM Data Server Provider for .NET para Informix Dynamic Server Versión 9.5 SC11-3674-00

Informix Vbnet Drivers 9

Embed Size (px)

Citation preview

IBM

Versin 9.5

Data Server Provider for .NET para Informix Dynamic Server

SC11-3674-00

IBM

Versin 9.5

Data Server Provider for .NET para Informix Dynamic Server

SC11-3674-00

Nota: Antes de utilizar esta informacin y el producto al que da soporte, lea la informacin contenida en el apartado Avisos en la pgina B-1.

Esta publicacin es la traduccin del original ingls IBM Data Server Provider for .NET for Informix Dynamic Server Version 9.5, (SC23-7688-00). Este documento contiene informacin sobre productos patentados de IBM. Se proporciona segn un acuerdo de licencia y est protegido por la ley de la propiedad intelectual. La informacin contenida en esta publicacin no incluye ninguna garanta de producto, por lo que ninguna declaracin proporcionada en esta publicacin deber interpretarse como tal. Al enviar informacin a IBM, le otorga a IBM un derecho no exclusivo a utilizar o distribuir dicha informacin en la forma en que IBM considere adecuada, sin contraer por ello ninguna obligacin con el remitente. Copyright International Business Machines Corporation 2003, 2007. Reservados todos los derechos.

ContenidoIntroduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viiEn esta introduccin . . . . . . . . . . . . Acerca de este manual . . . . . . . . . . . Convenios de la documentacin . . . . . . . . Convenios tipogrficos . . . . . . . . . . Sealizacin para funciones, productos y plataformas Convenios para cdigo de ejemplo . . . . . . Documentacin adicional . . . . . . . . . . . Cumplimiento de los estndares industriales . . . . IBM agradece sus comentarios . . . . . . . . . vii vii vii vii . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1Qu es el IBM Data Server Provider for.NET? . . . . . . . . . . Entornos de programacin soportados . . . . . . . . . . . . . Soporte al acceso a datos con Visual Studio . . . . . . . . . . . Soporte para IPv6 . . . . . . . . . . . . . . . . . . . . Preparacin del servidor de la base de datos . . . . . . . . . . . Visin general de la biblioteca de clases IBM Data Server Provider for .NET Seguridad de las hebras de los tipos de proveedor . . . . . . . . . Requisitos de los espacios de nombres . . . . . . . . . . . . . Conexin a una base de datos . . . . . . . . . . . . . . . . Modalidades de base de datos con .NET . . . . . . . . . . . . Reconciliacin de los cambios de DataSet con la base de datos . . . . . La agrupacin de conexiones . . . . . . . . . . . . . . . . Establecimiento del permiso FullTrust . . . . . . . . . . . . . Utilizacin de marcadores de parmetro ? . . . . . . . . . . . . Matrices de parmetros . . . . . . . . . . . . . . . . . . Llamada de los procedimientos almacenados . . . . . . . . . . . Uso de las transacciones distribuidas . . . . . . . . . . . . . Codificacin genrica con ADO.NET Common Base Classes . . . . . . Migracin desde IBM Informix .NET Provider . . . . . . . . . . Mensajes de error . . . . . . . . . . . . . . . . . . . . Rastreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-2 1-2 1-2 1-2 1-3 1-3 1-4 1-5 1-5 1-6 1-6 1-6 1-7 1-7 1-7 1-7 1-8 1-8 1-8

Captulo 2. Correlacin de tipos de datos . . . . . . . . . . . . . . . . . . . . 2-1En este captulo . . . . . . . . . . . . . . . . . . Recuperacin de datos . . . . . . . . . . . . . . . Establecimiento de los tipos de datos de los parmetros . . . . Formato de visualizacin de los tipos de datos FLOAT, DECIMAL o . . . . . . . . . MONEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-1 2-2 2-3

Captulo 3. IBM Data Server Provider for .NET . . . . . . . . . . . . . . . . . . 3-1Espacio de nombres IBM.Data.Informix . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Clase IfxBulkCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 Clase IfxBulkCopyColumnMapping. . . . . . . . . . . . . . . . . . . . . . . . . . 3-28 Clase IfxBulkCopyColumnMappingCollection . . . . . . . . . . . . . . . . . . . . . . 3-46 Enumeracin IfxBulkCopyOptions . . . . . . . . . . . . . . . . . . . . . . . . . . 3-67 Clase IfxCommandBuilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68 Clase IfxCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-98 Clase IfxConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-156 Clase IfxConnectionStringBuilder . . . . . . . . . . . . . . . . . . . . . . . . . . 3-219 Enumeracin IfxCursorType . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-254 Clase IfxDataAdapter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-255 Clase IfxDataReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-291 Clase IfxDataSourceEnumerator . . . . . . . . . . . . . . . . . . . . . . . . . . 3-363 Copyright IBM Corp. 2003, 2007

iii

Clase IfxError. . . . . . . . . . . Clase IfxErrorCollection . . . . . . . Clase IfxException . . . . . . . . . Clase IfxFactory . . . . . . . . . . Clase IfxInfoMessageEventArgs. . . . . Clase IfxParameter . . . . . . . . . Clase IfxParameterCollection . . . . . Clase IfxPermissionAttribute. . . . . . Clase IfxPermission . . . . . . . . . Clase IfxRecord . . . . . . . . . . Clase IfxResultSet . . . . . . . . . Enumeracin IfxResultSetOptions . . . . Clase IfxRowUpdatedEventArgs . . . . Delegado de IfxRowUpdatedEventHandler . Clase IfxRowUpdatingEventArgs . . . . Delegado de IfxRowUpdatingEventHandler Clase IfxRowsCopiedEventArgs . . . . Delegado de IfxRowsCopiedEventHandler . Clase IfxTransaction . . . . . . . . Enumeracin IfxType . . . . . . . . Clase IfxUpdatableRecord . . . . . . Espacio de nombres IBM.Data.IfxTypes . . . Estructura IfxBinary . . . . . . . . Clase IfxClob . . . . . . . . . . . Estructura IfxDate . . . . . . . . . Estructura IfxDecimal . . . . . . . . Estructura IfxDouble . . . . . . . . Estructura IfxInt16 . . . . . . . . . Estructura IfxInt32 . . . . . . . . . Estructura IfxInt64 . . . . . . . . . Clase IfxNullValueException . . . . . . Clase IfxFormatException . . . . . . . Estructura IfxReal370 . . . . . . . . Estructura IfxReal . . . . . . . . . Estructura IfxRowId . . . . . . . . Estructura IfxString . . . . . . . . . Estructura IfxTime . . . . . . . . . Estructura IfxTimeStamp . . . . . . . Clase IfxTruncateException . . . . . . Clase IfxTypeException . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3-371 3-384 3-392 3-402 3-415 3-418 3-453 3-495 3-501 3-509 3-563 3-683 3-684 3-690 3-691 3-696 3-697 3-700 3-701 3-714 3-717 3-802 3-803 3-811 3-820 3-830 3-845 3-856 3-866 3-876 3-887 3-889 3-891 3-902 3-913 3-919 3-927 3-939 3-950 3-953

Captulo 4. Programas de ejemplo

. . . . . . . . . . . . . . . . . . . . . . . 4-1. . . . . . . . . . . . . . . . . . . . . . . . con la base . . . . . . . . . . . . . . . . . . de . . . . . . . . . . . . . . . datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4-1 4-1 4-2 4-3 4-3 4-4 4-5 4-6 4-7

Programas de demostracin. . . . . . . . . . . . . . . . Ejemplos . . . . . . . . . . . . . . . . . . . . . . Recuperacin de un nico valor . . . . . . . . . . . . . Recuperacin de mltiples columnas. . . . . . . . . . . . Ejecucin de SQL, que no devuelve datos, y uso de una transaccin . Recuperacin de datos en un archivo . . . . . . . . . . . Utilizacin del objeto IfxCommandBuilder para reconciliar los cambios Llamada de un procedimiento almacenado . . . . . . . . . Uso de las transacciones distribuidas . . . . . . . . . . . Grabar CLOBs en archivos . . . . . . . . . . . . . . .

Apndice. Accesibilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Funciones de accesibilidad de IBM Informix Funciones de accesibilidad . . . . . Navegacin mediante el teclado . . . Informacin afn sobre accesibilidad . . IBM y accesibilidad . . . . . . . Dynamic Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1 A-1 A-1 A-1 A-1

iv

IBM Data Server Provider for .NET para Informix Dynamic Server

Avisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1Marcas registradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-3

ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . X-1

Contenido

v

vi

IBM Data Server Provider for .NET para Informix Dynamic Server

IntroduccinEn esta introduccin . . . . . . . . . . . . Acerca de este manual . . . . . . . . . . . Convenios de la documentacin . . . . . . . . Convenios tipogrficos . . . . . . . . . . Sealizacin para funciones, productos y plataformas Convenios para cdigo de ejemplo . . . . . . Documentacin adicional . . . . . . . . . . . Cumplimiento de los estndares industriales . . . . IBM agradece sus comentarios . . . . . . . . . vii vii vii vii . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . viii . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . ix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

En esta introduccinEn esta introduccin encontrar un resumen sobre la informacin contenida en esta publicacin y se describen los convenios que se utilizan.

Acerca de este manualEsta publicacin contiene la informacin que necesita para utilizar IBM Data Server Provider for .NET para acceder y manipular datos en bases de datos IBM Informix. Esta publicacin asume que est familiarizado con la especificacin Microsoft .NET, los principios de programacin orientada a objetos, y con el uso de servidores y bases de datos IBM Informix. Microsoft proporciona informacin sobre la programacin con .NET en este sitio Web. Para obtener ms informacin sobre cmo trabajar con IBM Informix Dynamic Server, consulte la publicacin Gua de iniciacin en el conjunto de documentacin del servidor. Windows y .NET son marcas registradas o marcas de Microsoft Corporation en Estados Unidos o en otros pases.

Convenios de la documentacinEsta seccin describe los convenios siguientes, los cuales se utilizan en la documentacin de producto de IBM Informix Dynamic Server: v Convenios tipogrficos v Convenios para componentes, productos y plataformas v Diagramas de sintaxis v Convenios de la lnea de mandatos v Convenios para cdigo de ejemplo

Convenios tipogrficosEsta publicacin utiliza los convenios siguientes para presentar trminos nuevos, mostrar capturas de pantalla, describir la sintaxis de mandatos, etc.Convenio PALABRA CLAVE Significado Las palabras clave de SQL, SPL y algunos otros lenguajes de programacin aparecen escritos en maysculas, con un font con remate.

Copyright IBM Corp. 2003, 2007

vii

Convenio cursiva

Significado En el texto, aparecen en cursiva trminos nuevos y palabras que se destacan. En la sintaxis y ejemplos de cdigo, aparecen en cursiva valores de variable que debe especificar el usuario. Aparecen en negrita los nombres de entidades de programas (tales como clases, sucesos y tablas), las variables de entorno, los nombres de archivos, las vas de acceso y los elementos de la interfaz (tales como iconos, opciones de men y botones). La informacin que visualiza el producto y la informacin que especifica el usuario aparecen con el tipo de letra de monoespaciado. Las teclas que debe pulsar aparecen en letras maysculas escritas con un font sin remate (sans serif). Este smbolo indica un elemento de men. Por ejemplo, Elija Herramientas > Opciones significa que tiene que elegir el elemento Opciones en el men Herramientas.

negrita

monoespaciado PULSACIN >

Sealizacin para funciones, productos y plataformasLa sealizacin para componentes, productos y plataformas identifica prrafos que contienen informacin especfica de un componente, producto o plataforma. A continuacin, se muestran algunos ejemplos de esta sealizacin: Dynamic Server Identifica informacin que es especfica de IBM Informix Dynamic Server Fin de Dynamic Server Windows solamente Identifica informacin que es especfica del sistema operativo Windows Fin de Windows solamente Esta sealizacin puede aplicarse a uno o ms prrafos de un apartado. Cuando un apartado completo es aplicable a un producto o plataforma determinados, esto se indica en el texto de cabecera; por ejemplo: Ordenacin de tablas (Windows)

Convenios para cdigo de ejemploEsta publicacin contiene ejemplos de cdigo de SQL a lo largo de toda ella. Excepto cuando se indique, el cdigo no es especfico de ninguna herramienta individual de desarrollo de aplicaciones de IBM Informix. Si el ejemplo solamente contiene sentencias de SQL, las sentencias no estn delimitadas por signos de punto y coma. A continuacin sigue un cdigo de ejemplo:CONNECT TO stores_demo ... DELETE FROM customer WHERE customer_num = 121

viii

IBM Data Server Provider for .NET para Informix Dynamic Server

... COMMIT WORK DISCONNECT CURRENT

Para utilizar este cdigo de SQL para un producto especfico, debe aplicar las reglas de sintaxis de ese producto. Por ejemplo, si est utilizando DBAccess, debe delimitar varias sentencias con signos de punto y coma. Si est utilizando una API de SQL, debe utilizar EXEC SQL al principio de cada sentencia y un signo de punto y coma (u otro delimitador apropiado) al final de la sentencia. Consejo: Los puntos suspensivos en un ejemplo de cdigo indican que se aadira ms cdigo en una aplicacin completa, pero no es necesario mostrarlo para describir el concepto que se explica. Para obtener instrucciones detalladas sobre la utilizacin de sentencias de SQL para una herramienta determinada de desarrollo de aplicaciones o para una API de SQL, consulte la documentacin correspondiente al producto.

Documentacin adicionalPuede ver, buscar e imprimir toda la documentacin del producto desde el Centro de informacin de IBM Informix Dynamic Server, situado en esta direccin de la Web: http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp. Para obtener documentacin adicional sobre IBM Informix Dynamic Server y productos asociados, tales como notas de release, notas de mquina y notas de documentacin, consulte la pgina de la biblioteca de productos en lnea, situada en http://www.ibm.com/software/data/informix/pubs/library/. Como alternativa, puede consultar o instalar la documentacin del producto a partir del CD de Iniciacin rpida que se proporciona con el producto.

Cumplimiento de los estndares industrialesLas instituciones American National Standards Institute (ANSI) e International Organization of Standardization (ISO) han establecido conjuntamente un conjunto de normas de la industria para el Lenguaje de consulta estructurado (SQL). Los productos basados en SQL de IBM Informix se ajustan totalmente a la norma SQL-92 Entry Level (publicada como ANSI X3.135-1992), que es idntica a ISO 9075:1992. Adems, muchas funciones de los servidores de bases de datos IBM Informix cumplen las normas SQL-92 Intermediate y Full Level y X/Open SQL de Common Applications Environment (CAE).

IBM agradece sus comentariosDeseamos conocer cualquier correccin o clarificacin que considere que pueda ser til en nuestros manuales, lo cual nos ayudar a mejorar las ediciones futuras. Incluya la informacin siguiente: v Nombre y versin de la publicacin que est utilizando v Apartado y nmero de pgina v Sus sugerencias sobre la publicacin Envenos sus comentarios a la siguiente direccin de correo electrnico: [email protected]

Introduccin

ix

Esta direccin de correo electrnico est reservada para notificar errores y omisiones de nuestra documentacin. Para obtener ayuda inmediata para un problema tcnico, pngase en contacto con el Centro de soporte tcnico de IBM. Para obtener instrucciones, visite el sitio Web de Soporte tcnico de IBM Informix que se encuentra en http://www.ibm.com/planetwide/. Valoramos en gran medida sus sugerencias.

x

IBM Data Server Provider for .NET para Informix Dynamic Server

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic ServerQu es el IBM Data Server Provider for.NET? . . . . . . . . . . Entornos de programacin soportados . . . . . . . . . . . . . Soporte al acceso a datos con Visual Studio . . . . . . . . . . . Soporte para IPv6 . . . . . . . . . . . . . . . . . . . . Preparacin del servidor de la base de datos . . . . . . . . . . . Visin general de la biblioteca de clases IBM Data Server Provider for .NET Seguridad de las hebras de los tipos de proveedor . . . . . . . . . Requisitos de los espacios de nombres . . . . . . . . . . . . . Conexin a una base de datos . . . . . . . . . . . . . . . . Modalidades de base de datos con .NET . . . . . . . . . . . . Reconciliacin de los cambios de DataSet con la base de datos . . . . . La agrupacin de conexiones . . . . . . . . . . . . . . . . Establecimiento del permiso FullTrust . . . . . . . . . . . . . Utilizacin de marcadores de parmetro ? . . . . . . . . . . . . Matrices de parmetros . . . . . . . . . . . . . . . . . . Llamada de los procedimientos almacenados . . . . . . . . . . . Uso de las transacciones distribuidas . . . . . . . . . . . . . Codificacin genrica con ADO.NET Common Base Classes . . . . . . Migracin desde IBM Informix .NET Provider . . . . . . . . . . Mensajes de error . . . . . . . . . . . . . . . . . . . . Rastreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-2 1-2 1-2 1-2 1-3 1-3 1-4 1-5 1-5 1-6 1-6 1-6 1-7 1-7 1-7 1-7 1-8 1-8 1-8

Qu es el IBM Data Server Provider for.NET?El IBM Data Server Provider for .NET es un conjunto .NET que permite a las aplicaciones .NET acceder y manipular datos en servidores de datos IBM. Lo hace implementando diferentes interfaces en el Microsoft .NET Framework que se utilizan para acceder a los datos desde una base de datos. Utilizar IBM Data Server Provider for .NET es ms eficaz que acceder a una base de datos IBM Informix mediante uno de los dos siguientes mtodos: v Utilizacin de Microsoft .NET Framework Data Provider for ODBC junto con IBM Informix ODBC Driver v Utilizacin de Microsoft .NET Framework Data Provider for OLE DB junto con IBM Informix OLE DB Provider

Entornos de programacin soportadosEl IBM Data Server Provider for .NET puede ser utilizado por cualquier aplicacin que pueda ejecutar el Microsoft .NET Framework. La siguiente lista incluye algunos ejemplos de lenguajes de programacin que crean aplicaciones que cumplen estos criterios: v Visual BASIC .NET v Visual C# .NET v Visual J# .NET v ASP.NET El IBM Data Server Provider for .NET se ejecuta en todas las plataformas Microsoft Windows que proporcionan soporte total a .NET. Si quiere utilizar el IBM Data Copyright IBM Corp. 2003, 2007

1-1

Server Provider for .NET que implementa interfaces ADO.NET 2.0, deber tener instalado en su sistema Microsoft .NET Framework Versin 2.0 o superior.

Soporte al acceso a datos con Visual StudioSi utiliza Microsoft Visual Studio, se instalar un mdulo adicional de IBM Data Server Provider for .NET de forma automtica al instalar el Client SDK. Los mdulos adicionales de Visual Studio 2005 slo estn disponibles con CSDK. El proveedor de IConnect no incluye estos mdulos adicionales. Consulte en la pestaa Datos de la caja de herramientas las herramientas que le permitan configurar estos tipos de IBM Data Server Provider for .NET de forma visual: v IfxConnection v IfxCommand v IfxDataAdapter

Soporte para IPv6El IBM Data Server Provider for .NET puede utilizar direcciones Internet Protocol Version 6 (IPv6), as como direcciones Internet Protocol Version 4 (IPv4). Si su sistema utiliza IPv6 recomendamos que utilice nombres de sistema principal en sus series de conexin en vez de utilizar direcciones IP con el formato IPv6. A parte de esto, no deber realizar ninguna otra accin.

Preparacin del servidor de la base de datosAntes de utilizar el IBM Data Server Provider for .NET para acceder a las bases de datos de un servidor de base de datos determinado, deber ejecutar el script, cdotnet.sql, en funcin de la base de datos sysmaster en dicho servidor como usuario informix.

Visin general de la biblioteca de clases IBM Data Server Provider for .NETEl IBM Data Server for .NET da soporte a todas las clases pblicas y base .NET necesarias para acceder a la base de datos IBM Informix. Consulte la documentacin de Microsoft .NET Framework SDK para obtener ms informacin. En el .NET Framework, el acceso a una fuente de datos y sus datos est gestionado por las clases ADO.NET (ADO.NET significa ActiveX Data Objects -Objetos de datos de ActiveX- en la plataforma .NET). El .NET Framework es un conjunto de servicios y programas que proporcionan el entorno de tiempo de ejecucin para las aplicaciones .NET. ADO.NET contiene dos componentes primarios: las clases de archivo y las clases de .NET Provider. El objeto DataSet representa una fuente de datos en memoria (en estado desconectado). Las aplicaciones .NET utilizan DataSet para manipular datos. Las interfaces DataTable y DataColumn representan la tabla fuente y sus columnas. La interfaz DataRelation representa las relaciones entre tablas, como la del tipo padre-hijo. Al recuperar datos de la base de datos, todo el conjunto de resultados se toma del servidor y se convierte en XML antes de colocarlo en un DataSet. Todo el conjunto de resultados se almacena en un cliente. Por ello, se recomienda mantener los

1-2

IBM Data Server Provider for .NET para Informix Dynamic Server

archivos lo ms pequeos posible. No olvide utilizar el parmetro MAX ROWS en sus sentencias SELECT si no tiene que devolver todos los datos. Las principales clases de IBM Data Server Provider for .NET que proporcionan acceso a los datos son: v IfxConnectionpara conectarse a una base de datos y gestionar las transacciones. v IfxCommandpara emitir mandatos SQL. v IfxDataReaderpara leer una corriente de slo reenvo de registros de datos. v IfxTransactionpara controlar las transacciones. v IfxDataAdapterpara meter los datos en un archivo y reconciliar los cambios de un archivo con la base de datos. Las siguientes clases de .NET Provider le permiten desarrollar un cdigo independiente del proveedor al utilizar .NET Provider para el entorno 2.0: v DbProviderFactory v DbConnectionStringBuilder v DbCommand El objeto IfxDataReader proporciona una recuperacin rpida de los datos de la base de datos. Sin embargo, los datos son de slo lectura y slo puede avanzar, un registro cada vez, por el conjunto de resultados. A diferencia de los objetos DataSet, los objetos IfxDataReader no crean tablas temporales para que contengan los datos, por lo que utilizan menos memoria. Si se modifican los datos en el cliente, es posible que el usuario quiera aplicar dichos cambios en la base de datos. Para ello necesitar la clave primaria de su tabla de la base de datos para asegurarse de que est actualizando la fila correcta de la tabla. Para las actualizaciones de tablas nicas puede utilizar la clase IfxCommandBuilder para facilitar la reconciliacin automtica de los cambios en el archivo con la base de datos (consulte Reconciliacin de los cambios de DataSet con la base de datos en la pgina 1-5).

Seguridad de las hebras de los tipos de proveedornicamente los miembros estticos de un tipo de IBM Data Server Provider for .NET son de enhebramiento seguro. No se garantiza que todos los tipos sean seguros al llamarlos desde distintas hebras al mismo tiempo.

Requisitos de los espacios de nombresEl espacio de nombres para el IBM Data Server Provider for .NET para Informix Dynamic Server es: IBM.Data.Informix. Esto significa que el nombre completo de todos los objetos en IBM Data Server Provider for .NET para Informix Dynamix Server Provider empieza por IBM.Data.Informix. Por ejemplo, el nombre completo de IfxConnection es IBM.Data.Informix.IfxConnection. Para evitar tener que introducir todo el espacio de nombres de cada uno de los objetos, puede importar el espacio de nombres. La manera exacta de hacerlo depende de su lenguaje de programacin. El lenguaje C# utiliza la palabra clave using. Si est programando en C# puede referenciar el espacio de nombres incluyendo esta lnea al principio de su mdulo:using IBM.Data.Informix;

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic Server

1-3

Conexin a una base de datosPara conectarse a una base de datos deber utilizar el mtodo Open de un objeto IfxConnection. Puede definir informacin sobre cmo conectarse a una base de datos (como la mquina y el servidor donde est la base de datos) pasando una serie de conexin al objeto IfxConnection. La serie de conexin tiene la siguiente forma: atributo=valor[;atributo=valor]... Los corchetes ([]) y la elipsis (...) no forman parte de la serie. Slo indican que los pares atributo/valor despus del primero son opcionales y que puede incluirse cualquier nmero de los pares atributo/valor. Los pares atributo/valor se separan entre s con un punto y coma. Si utiliza Microsoft Visual Studio podr crear una conexin visualmente: 1. Arrastre un IfxConnection de la pestaa Datos de la barra de herramientas hasta uno de sus formularios. 2. Pulse en la propiedad ConnectionString del nuevo objeto IfxConnection. 3. Pulse en el botn de la elipsis (...) que aparece en el cuadro de texto ConnectionString. Se abrir un recuadro de dilogo. 4. Llene los elementos del dilogo para darle informacin a la conexin. Pulse en el botn de ayuda del recuadro de dilogo para obtener detalles sobre cmo utilizar el dilogo. El siguiente fragmento muestra una conexin simple a una base de datos denominada testdb en un servidor IBM Informix denominado testserver ubicado en una mquina denominada berry:IfxConnection conn=new IfxConnection("Host=berry; Service=9401; Server=testserver;User ID=informix; password=ifxtest; Database=testdb"); conn.Open();

Adems de la propiedad ConnectionString, un objeto IfxConnection tambin puede determinar las propiedades de conexin del programa de utilidad Setnet y del entorno o el registro (por ejemplo, los valores de DELIMIDENT y OPTOFC se pueden determinar de esta manera). Si las propiedades se establecen en la serie de conexin, el objeto IfxConnection utilizar dichos valores. Si, en cambio, no se establecen ah, utilizar los valores del entorno. Para las propiedades que no se establezcan, el objeto IfxConnection tomar los valores del programa de utilidad SetNet. Nota: De acuerdo con los estndares de la industria, el IBM Data Server Provider for .NET acta como si DELIMIDENT se hubiera establecido en Y a menos que el usuario lo establezca expresamente en N. Cuando su aplicacin haya acabado de utilizar la base de datos, cierre la conexin como en el siguiente fragmento:conn.Close();

Nota: Los nombres de atributo de las series de conexin no son sensibles a maysculas y minsculas, pero a menudo sus valores lo son.

1-4

IBM Data Server Provider for .NET para Informix Dynamic Server

Modalidades de base de datos con .NETLa modalidad de base de datos se detecta automticamente. Utilice la semntica de base de datos ANSI tanto para las bases de datos registradas como las ANSI. En las aplicaciones CLI, el atributo SQL_ATTR_AUTOCOMMIT a nivel de conexin puede ser SQL_AUTOCOMMIT_ON o SQL_AUTOCOMMIT_OFF. v SQL_AUTOCOMMIT_ON para bases de datos MODE ANSI da como resultado una confirmacin despus de cada sentencia y el servidor inicia una transaccin automticamente. v SQL_AUTOCOMMIT_OFF significa que la aplicacin tiene la responsabilidad de emitir confirmaciones utilizando SQLEndTran con SQL_COMMIT.

Reconciliacin de los cambios de DataSet con la base de datosSi recupera datos de la base de datos utilizando un objeto IfxDataAdapter y realiza cambios en los datos del archivo, la clase IfxCommandBuilder le permite generar mandatos INSERT, DELETE y UPDATE automticos para reconciliar dichos cambios con la base de datos. Recuperacin de datos en un archivo en la pgina 4-3 incluye un ejemplo que demuestra cmo utilizar los objetos IfxDataAdapter. Utilizacin del objeto IfxCommandBuilder para reconciliar los cambios con la base de datos en la pgina 4-4 incluye un ejemplo que demuestra cmo utilizar los objetos IfxCommandBuilder. La generacin automtica de sentencias SQL para la reconciliacin de datos se inicia al establecer la propiedad SelectCommand de un objeto IfxDataAdapter con la sentencia SELECT que quiere ejecutar. A continuacin, al crear un objeto IfxCommandBuilder, genera de forma automtica sentencias SQL para actualizaciones de tablas nicas para reconciliar los cambios en el archivo con la base de datos. Un objeto IfxCommandBuilder siempre est asociado con un objeto IfxDataAdapter (en una relacin de uno a uno). La sentencia SELECT que ejecuta al utilizar la propiedad SelectCommand debe devolver al menos una clave primaria o una columna exclusiva. Si no dispone de ninguno, se devolver una excepcin InvalidOperation y no se generarn los mandatos de reconciliacin. El objeto IfxCommandBuilder tambin utiliza las propiedades IfxCommand Connection, CommandTimeout y Transaction para la sentencia SELECT que est ejecutando (establecida por la propiedad SelectCommand). Si se modifica alguna de estas propiedades o si se sustituye la sentencia SELECT, debera llamar el mtodo IfxCommandBuilder.RefreshSchema. De no ser as, las propiedades InsertCommand, UpdateCommand y DeleteCommand conservarn sus valores originales. El mtodo IfxCommandBuilder.Dispose disocia el objeto IfxCommandBuilder del objeto IfxDataAdapter y ya no se utilizan ms los mandatos generados. Es posible que un objeto IfxCommandBuilder no genere sentencias SQL eficientes. Puede visualizar los mandatos que genera utilizando los mtodos GetDeleteCommand, GetInsertCommand y GetUpdateCommand. Las siguientes limitaciones se aplican al uso de los objetos IfxCommandBuilder: v La sentencia SELECT debe recuperar al menos una clave primaria o una columna unvoca como parte de la consulta.

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic Server

1-5

v La sentencia SELECT debe hacer referencia a una sola tabla; no puede tener procedimientos o vistas almacenadas que contengan operadores JOIN. v La sentencia SELECT debe hacer referencia a columnas que admitan operaciones de lectura-grabacin. v El objeto IfxCommandBuilder no intenta ni proporciona ningn mecanismo para buscar y cargar argumentos de salida de la sentencia SELECT. v Con las propiedades CommandText, Connection, CommandTimeout o Transaction para el cambio de consulta deber ejecutar el mtodo IfxCommandBuilder.RefreshSchema. v Los mandatos UPDATE y DELETE generados por un objeto IfxCommandBuilder no cambiarn ninguna columna modificada en la base de datos despus de que SELECT haya ledo los datos. v El objeto IfxCommandBuilder se ha diseado para trabajar con tablas individuales no relacionadas. No puede utilizar objetos IfxCommandBuilder para actualizar tablas con relaciones de clave primaria/clave externa. v Si las columnas de su mandato SELECT contienen caracteres especiales como espacios, puntos, comillas o caracteres no alfanumricos, no podr utilizar los objetos IfxCommandBuilder a menos que utilice las propiedades QuotePrefix y QuoteSuffix para especificar el delimitador para los nombres de tabla y columna en las consultas que genera.

La agrupacin de conexionesLa agrupacin de conexiones permite que las aplicaciones del cliente reutilicen las conexiones en vez de tener que crear una nueva cada vez que IBM Data Server Provider for .NET deba conectarse a una base de datos. Para que una conexin est disponible en la agrupacin, deber cerrarlo despus de que su aplicacin haya acabado de utilizar dicha conexin. Para reutilizar una conexin, sta deber estar en desuso y deber seguir estando conectada al servidor. Los atributos de la serie de conexin Pooling, Max Pool Size, Connection Life Time y Min Pool Size se utilizan para controlar la agrupacin de conexiones.

Establecimiento del permiso FullTrustPara utilizar IBM Data Server Provider for .NET, las aplicaciones de llamada deben tener establecido el permiso de FullTrust.

Utilizacin de marcadores de parmetro ?Puede utilizar el smbolo de pregunta (?) para marcar la posicin de un parmetro en una sentencia SQL o en un procedimiento almacenado. Puesto que IBM Data Server Provider for .NET no tiene acceso a los nombres de estos parmetros, deber traspasarlos en el orden adecuado. El orden en que aada los objetos IfxParameter a un objeto IfxParameterCollection deber corresponder directamente a la posicin del smbolo ? de la retencin de posicin de ese parmetro. Deber utilizar el mtodo ParameterCollection.Add para agregar un parmetro a la coleccin.

1-6

IBM Data Server Provider for .NET para Informix Dynamic Server

Matrices de parmetrosEl IBM Data Server Provider for .NET da soporte a las matrices de los parmetros de entrada para las sentencias UPDATE y INSERT. Esto permite que una aplicacin utilice un nico mandato para especificar una fila de valores de parmetro y dichos valores pueden enviarse de una sola vez al servidor.

Llamada de los procedimientos almacenadosPara utilizar procedimientos almacenados en sus aplicaciones, establezca las siguientes propiedades del objeto IfxCommand tal como se muestra a continuacin: v CommandText - establecida en el nombre del procedimiento almacenado v CommandType - establecida en StoredProcedure Puede utilizar el mtodo IfxCommandBuilder.DeriveParameters para recuperar informacin sobre los parmetros para los procedimientos almacenados. Si un procedimiento almacenado devuelve un valor, su aplicacin deber aadir un parmetro para dicho valor en la coleccin de parmetros utilizada por el objeto IfxCommand. La seccin Llamada de un procedimiento almacenado en la pgina 4-5 incluye un ejemplo que muestra cmo ejecutar un procedimiento almacenado y leer los resultados que devuelva.

Uso de las transacciones distribuidasSu aplicacin puede conseguir una conexin para las transacciones distribuidas estableciendo el atributo de la serie de conexin Enlist en true, yes o 1. Se recomienda establecer el atributo de la serie de conexin Pooling en true, yes o 1 mientras trabaje con transacciones distribuidas. Uso de las transacciones distribuidas en la pgina 4-6 incluye un ejemplo sobre cmo utilizar las transacciones distribuidas con su aplicacin. Nota: Las transacciones distribuidas estn soportadas por Microsoft Distributed Transaction Coordinator (MS DTC). Los componentes MS DTC son necesarios para llamar algunos cdigos no gestionados que pueden afectar al nivel de seguridad disponible y al rendimiento.

Codificacin genrica con ADO.NET Common Base Classes.NET Framework versin 2.0 contiene un espacio para nombres denominado System.Data.Common que incluye un conjunto de clases base que pueden compartirse entre todos los proveedores de datos .NET. Esto facilita un enfoque genrico al desarrollo de la aplicacin de bases de datos ADO.NET generando una interfaz de programacin constante. Las clases principales de IBM Data Server Provider for .NET se heredan de las clases base System.Data.Common. Como resultado, las aplicaciones ADO.NET genricas trabajarn con bases de datos Dynamic Server mediante el IBM Data Server Provider for .NET. El siguiente cdigo C# muestra un enfoque genrico para establecer una conexin a una base de datos.

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic Server

1-7

DbProviderFactory factory = DbProviderFactories.GetFactory("IBM.Data.Informix"); DbConnection conn = factory.CreateConnection(); DbConnectionStringBuilder sb = factory.CreateConnectionStringBuilder(); if( sb.ContainsKey( "Database" ) ) { sb.Remove( "database" ); sb.Add( "database", "SAMPLE" ); } conn.ConnectionString = sb.ConnectionString; conn.Open();

El objeto DbProviderFactory es el punto en que empieza cualquier aplicacin ADO.NET genrica. Este objeto crea instancias genricas de objetos del proveedor de datos .NET como conexiones, adaptadores de datos y lectores de datos que trabajan con un producto de bases de datos especfico. En el caso del ejemplo anterior, la serie "IBM.Data.Informix" traspasada al mtodo GetFactory slo identifica de forma unvoca el IBM Data Server Provider for .NET for Informix Dynamic Server y da como resultado la inicializacin de una instancia DbProviderFactory que crea instancias del objeto del proveedor de bases de datos especfico de IBM Data Server Provider for .NET para Informix Dynamic Server. El objeto DbConnection puede conectarse a bases de datos Dynamic Server como un objeto IfxConnection, que se hereda de DbConnection. Al utilizar la clase DbConnectionStringBuilder, puede determinar las palabras clave de la serie de conexin para un proveedor de datos y generar una serie de conexin del cliente. El cdigo del ejemplo anterior comprueba si existe una palabra clave denominada "database" en IBM Data Server Provider for .NET para Informix Dynamic Server y, de ser as, genera una serie de conexin para conectarse a la base de datos SAMPLE.

Migracin desde IBM Informix .NET ProviderEl soporte anterior para las aplicaciones .NET ha utilizado SQLI para conectarse a una base de datos, en tanto que IBM Data Server Provider for .NET utiliza DRDA para conectarse a una base de datos. En consecuencia, debe utilizar un nivel de Dynamic Server que da soporte a DRDA, el cual es Dynamic Server, Versin 11.1 o superior. Asimismo, ya no se da soporte a las siguientes clases y sus estructuras. v IfxBlob v IfxTimeSpan

Mensajes de errorLos mensajes de error del servidor IBM Informix se representan como excepciones de IBM Data Server Provider for .NET.

RastreoUna aplicacin puede habilitar el rastreo estableciendo la variable de entorno IFXDOTNETTRACE.Valor 0 1 Significado Sin rastreo Rastreo de la entrada API y salida con cdigo de retorno

1-8

IBM Data Server Provider for .NET para Informix Dynamic Server

Valor 2

Significado Rastreo de la entrada API y salida con cdigo de retorno ms rastreo de los parmetros del API

v 0Sin rastreo v 1Rastreo de la entrada API y salida con cdigo de retorno v 2Rastreo de la entrada API y salida con cdigo de retorno ms rastreo de los parmetros del API La informacin de rastreo se graba en el archivo que establece el usuario con la variable de entorno IFXDOTNETTRACEFILE.

Captulo 1. Visin general del IBM Data Server Provider for .NET para Informix Dynamic Server

1-9

1-10

IBM Data Server Provider for .NET para Informix Dynamic Server

Captulo 2. Correlacin de tipos de datosEn este captulo . . . . . . . . . . . . . . . . . . Recuperacin de datos . . . . . . . . . . . . . . . Establecimiento de los tipos de datos de los parmetros . . . . Formato de visualizacin de los tipos de datos FLOAT, DECIMAL o . . . . . . . . . MONEY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 2-1 2-2 2-3

En este captuloEn este captulo se describe cmo se correlacionan los tipos de datos entre las bases de datos IBM Informix y .NET Framework. Esto incluye: v Cmo se correlacionan los tipos de datos cuando se recuperan datos de la base de datos utilizando los objetos IfxDataReader y IfxDataAdapter v Cmo se correlaciona un tipo de datos de los parmetros (al utilizar los objetos IfxParameter)

Recuperacin de datosLa Tabla 2-1 muestra cada tipo de datos Informix, el tipo recomendado para almacenar dicho tipo de datos y el tipo de datos .NET Framework que mejor se adapte. El tipo recomendado debera utilizarse al acceder a los datos mediante IfxDataReader. El tipo de .NET ms adecuado es el tipo que utilizar un objeto IfxDataAdapter cuando llene un objeto DataSet. Puede utilizar tipos distintos a los que se muestran, por ejemplo, puede utilizar el mtodo IfxDataReader.GetString para obtener cualquier tipo de datos que pueda almacenarse en la base de datos IBM Informix. Los tipos recomendados son los ms eficientes y es menos probable que cambien el valor.Tabla 2-1. Los mejores tipos para recuperar tipos de datos de IBM Informix Tipo de datos de Informix BLOB BOOLEAN BYTE CHAR CHAR(1) CLOB DATE DATETIME Escala fija DECIMAL(p Aadir referencia. Si est compilando un programa desde la lnea de mandatos para Framework 2.0 o 3.0, los mandatos csc o vbc deben incluir la opcin siguiente:/r:"%IfxPATH%"\bin\netf20\IBM.Data.Informix.dll

Si est compilando un programa desde la lnea de mandatos para Framework 1.1, los mandatos csc o vbc deben incluir la opcin siguiente:/r:"%IfxPATH%"\bin\netf11\IBM.Data.Informix.dll

Para establecer una conexin con uno de los servidores de datos soportados, deber construir un objeto IfxConnection y proporcionarle una serie de caracteres de conexin Informix .NET vlida. Consulte la propiedadIfxConnection.ConnectionString para obtener informacin sobre las palabras clave soportadas. Para obtener informacin detallada sobre cmo utilizar mejor el espacio de nombres IBM.Data.DB2, consulte la documentacin sobre las siguientes clases de IBM Data Server Provider for .NET: v IfxDataAdapter

3-2

IBM Data Server Provider for .NET para Informix Dynamic Server

v IfxCommand v IfxConnection v IfxDataReader

ClasesClase IfxBulkCopy IfxBulkCopyColumnMapping Representa una correlacin de columnas de la tabla fuente de datos con la tabla de destino. Descripcin Facilita la copia de filas de una fuente de datos a otra.

Representa una coleccin de correlaciones de columnas de la tabla IfxBulkCopyColumnMappingCollection fuente con la tabla de destino. IfxCommand IfxCommandBuilder Representa una sentencia de SQL o un procedimiento almacenado que se va a ejecutar en funcin de una fuente de datos. Genera automticamente mandatos de una sola tabla utilizados para reconciliar cambios realizados en un DataSet con la base de datos asociada. Representa una conexin abierta con una base de datos. IfxConnection IfxConnectionStringBuilder Proporciona enfoques genricos y especficos de IBM Data Server Provider for .NET para la generacin de series de caracteres de conexin vlidas. Representa un conjunto de mandatos de datos y una conexin con una base de datos que se utilizan para rellenar el DataSet y actualizar la base de datos. Proporciona una manera de leer filas de corrientes de datos de slo avance de una base de datos. Proporciona una forma de descubrir las fuentes de datos visibles de la familia Informix. Recopila informacin relevante para un aviso o error devuelto por la base de datos. Recopila todos los errores generados por el IfxDataAdapter. IfxErrorCollection IfxException IfxFactory La excepcin que se genera cuando un servidor de datos Informix devuelve un error. Representa un conjunto de mtodos para la creacin de instancias de las clases de fuente de datos System.Data.Common para el proveedor de datos. Proporciona datos para el suceso InfoMessage. IfxInfoMessageEventArgs IfxParameter IfxParameterCollection Representa un parmetro de un IfxCommand y, opcionalmente, su correlacin con una DataColumn. Representa una coleccin de parmetros relevantes para un IfxCommand as como las correlaciones respectivas de los mismos con columnas de un DataSet. Habilita IBM Data Server Provider for .NET para garantizar que un usuario tenga el nivel de seguridad adecuado para acceder a una base de datosInformix.

IfxDataAdapter

IfxDataReader IfxDataSourceEnumerator IfxError

IfxPermission

Captulo 3. IBM Data Server Provider for .NET

3-3

Clase IfxPermissionAttribute IfxRecord IfxResultSet

Descripcin Asocia una accin de seguridad con un atributo de seguridad personalizado. Representa un registro de slo lectura. Proporciona desplazamiento multidireccional en una corriente vinculable de filas de datos de una base de datos. Adems, las instancias de IfxResultSet tambin pueden actualizar, suprimir e insertar filas. Proporciona datos para el suceso IfxRowsCopied. IfxRowsCopiedEventArgs Proporciona datos para el suceso RowUpdated. IfxRowUpdatedEventArgs Proporciona datos para el suceso RowUpdating. IfxRowUpdatingEventArgs IfxTransaction IfxUpdatableRecord Representa una transaccin de SQL que se debe realizar en una base de datos. Representa una fila nueva que se crear en una instancia de IfxResultSet.

DelegadosDelegado IfxInfoMessageEventHandler IfxRowsCopiedEventHandler IfxRowUpdatedEventHandler IfxRowUpdatingEventHandler Descripcin Representa el mtodo que manejar el suceso InfoMessage de un objeto IfxConnection. Representa el mtodo que manejar el suceso IfxRowsCopied de un objeto IfxBulkCopy. Representa el mtodo que manejar el suceso RowUpdated de un objeto IfxDataAdapter. Representa el mtodo que manejar el suceso RowUpdating de un objeto IfxDataAdapter.

EnumeracionesEnumeracin Descripcin Especifique las opciones a utilizar con IfxBulkCopy. Estas opciones son distintivos de bits que le permiten combinarlos en mscaras de bits. Especifique las opciones de cursor a utilizar con IfxResultSet. Estas opciones son distintivos de bits que le permiten combinarlos en mscaras de bits. Especifique las opciones de conjunto de resultados a utilizar con IfxResultSet. Estas opciones son distintivos de bits que le permiten combinarlos en mscaras de bits. Especifica el tipo de datos de un campo, una propiedad o un IfxParameter.

IfxBulkCopyOptions IfxCursorType

IfxResultSetOptions IfxType

Consulta

3-4

IBM Data Server Provider for .NET para Informix Dynamic Server

Espacio de nombres IBM.Data.IfxTypes en la pgina 3-802 El espacio de nombres IBM.Data.IfxTypes proporciona clases y estructuras que representan tipos de datos Informix para .NET Framework Data Provider. Captulo 3, IBM Data Server Provider for .NET, en la pgina 3-1 IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece un acceso seguro y de alto rendimiento a los servidores de datos IBM.

Clase IfxBulkCopyFacilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll)

Jerarqua de herenciaSystem.Object System.MarshalByRefObject IBM.Data.Informix.IfxBulkCopy

SintaxisVisual Basic] NotInheritable Public Class IfxBulkCopy [C#] public sealed class IfxBulkCopy [C++] public ref class IfxBulkCopy sealed [JScript] public final class IfxBulkCopy

ComentariosLa fuente de los datos puede ser un objeto DataRow, DataTable o DataReader, lo que significa que los datos que se deben copiar pueden proceder de cualquier fuente que la aplicacin pueda leer. El destino es una tabla de una base de datos. Para permitir la copia de datos de columnas que tengan nombres distintos al de la tabla de destino, IfxBulkCopy utiliza objetos IfxCopyColumnMapping y IfxCopyColumnMappingCollection.

Ejemplo[C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex)

Captulo 3. IBM Data Server Provider for .NET

3-5

{ MessageBox.Show(ex.ToString(), "Exception"); } }

Seguridad de hebraCualquier miembro esttico pblico (Shared en Visual Basic) de este tipo es seguro para operaciones multihebra. No se garantiza que cualquier miembro de instancia sea seguro para hebras.

Informacin de versinVersin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Miembros de IfxBulkCopy Facilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy. Enumeracin IfxBulkCopyOptions en la pgina 3-67 Especifique las opciones a utilizar con IfxBulkCopy. Estas opciones son distintivos de bits que le permiten combinarlos en mscaras de bits. Clase IfxBulkCopyColumnMapping en la pgina 3-28 Representa una correlacin de columnas de la tabla fuente de datos con la tabla de destino. Clase IfxBulkCopyColumnMappingCollection en la pgina 3-46 Representa una coleccin de correlaciones de columnas de la tabla fuente con la tabla de destino. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Miembros de IfxBulkCopyFacilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy.

Constructores pblicosNombre IfxBulkCopy Descripcin Sobrecargado. Inicializa una instancia nueva de la clase IfxBulkCopy.

Propiedades pblicasNombre BulkCopyTimeout Descripcin Nmero de segundos durante los cuales se debe ejecutar la operacin de copia masiva antes de que se produzca un tiempo de espera excedido. Correlaciones de las columnas de la tabla de la fuente de datos con las columnas de la tabla de destino.

ColumnMappings

3-6

IBM Data Server Provider for .NET para Informix Dynamic Server

Nombre DestinationTableName

Descripcin Nombre de la tabla de destino residente en el servidor. Errores producidos en la operacin de copia masiva.

Errors NotifyAfter Nmero de filas que se deben copiar antes de generar un suceso IfxRowsCopied.

Mtodos pblicosNombre Close Cierra la instancia de IfxBulkCopy. Dispose WriteToServer Sobrecargado. Copia todas las filas de una fuente de datos en la tabla de destino especificada por la propiedad DestinationTableName. Descripcin Cierra la instancia de IfxBulkCopy.

Sucesos pblicosNombre IfxRowsCopied Descripcin Se produce cada vez que el nmero de filas copiadas alcanza el valor definido en la propiedad NotifyAfter.

Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Constructores de IfxBulkCopyInicializa una instancia nueva de la clase IfxBulkCopy.

Lista de sobrecargasInicializa una nueva instancia de la clase IfxBulkCopy con un objeto IfxConnection. IfxBulkCopy(IBM.Data.DB2.IfxConnection) Inicializa una nueva instancia de la clase IfxBulkCopy con un objeto IfxConnection y valores de enumeracin de IfxBulkCopyOptions. Inicializa una nueva instancia de la clase IfxBulkCopy con una serie de caracteres de conexin de base de datos.

IfxBulkCopy(IBM.Data.DB2.IfxConnection, IBM.Data.DB2.IfxBulkCopyOptions) IfxBulkCopy(string)

Captulo 3. IBM Data Server Provider for .NET

3-7

IfxBulkCopy(string, IBM.Data.DB2.IfxBulkCopyOptions)

Inicializa una nueva instancia de la clase IfxBulkCopy con una serie de caracteres de conexin de base de datos y valores de enumeracin de IfxBulkCopyOptions.

Consulta Miembros de IfxBulkCopy en la pgina 3-6 Facilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy. Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Constructor de IfxBulkCopy.IfxBulkCopy(IBM.Data.DB2.IfxConnection): Inicializa una nueva instancia de la clase IfxBulkCopy con un objeto IfxConnection. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub New(connection As IfxConnection) [C#] public IfxBulkCopy(IfxConnection connection); [C++] public: IfxBulkCopy(IfxConnection* connection); [JScript] public function IfxBulkCopy(connection : IfxConnection);

Parmetros connection Objeto IfxConnection que representa una conexin con una base de datos. ExcepcionesTipo de excepcin InvalidOperationException Condicin Este constructor de IfxBulkCopy requiere el acceso a una conexin de base de datos abierta.

Comentarios Los datos se copiarn a una tabla del servidor de datos identificado en el parmetro de conexin.

3-8

IBM Data Server Provider for .NET para Informix Dynamic Server

Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Constructor de IfxBulkCopy.IfxBulkCopy(IBM.Data.DB2.IfxConnection, IBM.Data.DB2.IfxBulkCopyOptions): Inicializa una nueva instancia de la clase IfxBulkCopy con un objeto IfxConnection y valores de enumeracin de IfxBulkCopyOptions. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub New( _ connection As IfxConnection, _ options As IfxBulkCopyOptions _ ) [C#] public IfxBulkCopy( IfxConnection connection, IfxBulkCopyOptions options, ); [C++] public: IfxBulkCopy( IfxConnection* connection, IfxBulkCopyOptions options,Captulo 3. IBM Data Server Provider for .NET

3-9

); [JScript] public function IfxBulkCopy( connection : IfxConnection, options : IfxBulkCopyOptions );

Parmetros connection Objeto IfxConnection que representa una conexin con una base de datos. options Opciones que se deben utilizar durante la operacin de copia masiva. Se pueden especificar como una enumeracin IfxBulkCopyOptions individual o un valor de mscara de bits que indique las opciones deseadas de la enumeracin IfxBulkCopyOptions. Comentarios Los datos se copiarn a una tabla del servidor de datos identificado en el parmetro de conexin. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES utilizando los valores TableLock y Truncate de la enumeracin IfxBulkCopyOptions. Todos los valores de la tabla de destino se borrarn antes de que empiece la operacin de copia masiva y la tabla se bloquear durante la operacin de copia masiva.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(connString, (IfxBulkCopyOptions)IfxBulkCopyOptions.TableLock | IfxBulkCopyOptions.Truncate); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider

3-10

IBM Data Server Provider for .NET para Informix Dynamic Server

para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Constructor de IfxBulkCopy.IfxBulkCopy(string): Inicializa una nueva instancia de la clase IfxBulkCopy con una serie de caracteres de conexin de base de datos. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub New(connectionString As String) [C#] public IfxBulkCopy(string connectionString); [C++] public: IfxBulkCopy(String* connectionString); [JScript] public function IfxBulkCopy(connectionString : String);

Parmetros connectionString Serie de conexin para la conexin de base de datos. Comentarios Un objeto IfxConnection se inicializar utilizando la informacin de la serie de caracteres de la conexin. La IfxConnection se abrir y los datos se copiarn en la tabla. La IfxConnection se cerrar de forma automtica tras la operacin de copia masiva. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(String connString, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(connString); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Captulo 3. IBM Data Server Provider for .NET

3-11

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Constructor de IfxBulkCopy.IfxBulkCopy(string, IBM.Data.DB2.IfxBulkCopyOptions): Inicializa una nueva instancia de la clase IfxBulkCopy con una serie de caracteres de conexin de base de datos y valores de enumeracin de IfxBulkCopyOptions. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub New( _ connectionString As String, _ options As IfxBulkCopyOptions _ ) [C#] public IfxBulkCopy( string connectionString, IfxBulkCopyOptions options, ); [C++] public: IfxBulkCopy( String* connectionString, IfxBulkCopyOptions options, ); [JScript] public function IfxBulkCopy( connectionString : String, options : IfxBulkCopyOptions );

Parmetros connectionString Serie de conexin para la conexin de base de datos. options Opciones que se deben utilizar durante la operacin de copia masiva. Se pueden especificar como una enumeracin IfxBulkCopyOptions individual o un valor de mscara de bits que indique las opciones deseadas de la enumeracin IfxBulkCopyOptions.

3-12

IBM Data Server Provider for .NET para Informix Dynamic Server

Comentarios Un objeto IfxConnection se inicializar utilizando la informacin de la serie de caracteres de la conexin. La IfxConnection se abrir y los datos se copiarn en la tabla. La IfxConnection se cerrar de forma automtica tras la operacin de copia masiva. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES utilizando los valores TableLock y Truncate de la enumeracin IfxBulkCopyOptions. Todos los valores de la tabla de destino se borrarn antes de que empiece la operacin de copia masiva y la tabla se bloquear durante la operacin de copia masiva.[C#] public static void copyIntoSales(IfxConnection connString, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(connString, (IfxBulkCopyOptions)IfxBulkCopyOptions.TableLock | IfxBulkCopyOptions.Truncate); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Mtodos de IfxBulkCopyLos mtodos de la clase IfxBulkCopy se listan a continuacin.

Mtodos pblicosNombre Close Cierra la instancia de IfxBulkCopy. Dispose Descripcin Cierra la instancia de IfxBulkCopy.

Captulo 3. IBM Data Server Provider for .NET

3-13

Nombre WriteToServer

Descripcin Sobrecargado. Copia todas las filas de una fuente de datos en la tabla de destino especificada por la propiedad DestinationTableName.

Consulta Miembros de IfxBulkCopy en la pgina 3-6 Facilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy. Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.Close: Cierra la instancia de IfxBulkCopy. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub Close [C#] public void Close () [C++] public: void Close () [JScript] public function Close ()

Comentarios Despus de llamar a Close en una instancia de IfxBulkCopy, ninguna otra operacin resultar satisfactoria. Cualquier accin realizada con miembros de una instancia de IfxBulkCopy despus de ejecutar Close har que el proveedor de datos emita una InvalidOperationException. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source);

3-14

IBM Data Server Provider for .NET para Informix Dynamic Server

salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.Dispose: Cierra la instancia de IfxBulkCopy. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub Dispose [C#] public void Dispose () [C++] public: void Dispose () [JScript] public function Dispose ()

Comentarios Despus de llamar a Dispose en una instancia de IfxBulkCopy, ninguna otra operacin resultar satisfactoria. Cualquier accin realizada con miembros de una instancia de IfxBulkCopy despus de una operacin Dispose provocar que la aplicacin emita una excepcin InvalidOperationException. Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos.

Captulo 3. IBM Data Server Provider for .NET

3-15

Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.WriteToServer: Copia todas las filas de una fuente de datos en la tabla de destino especificada mediante la propiedad DestinationTableName. Lista de sobrecargasNombre WriteToServer(System.Data.DataRow[ ]) Descripcin Copia todas las filas de la matriz DataRow en la tabla de destino especificada mediante la propiedad DestinationTableName. Copia todas las filas de la DataTable en la tabla de destino especificada mediante la propiedad DestinationTableName. Copia solamente las filas que estn en el estado especificado (indicado en DataRowState) de la DataTable en la tabla de destino especificada mediante la propiedad DestinationTableName. Copia todas las filas del DataReader en la tabla de destino especificada mediante la propiedad DestinationTableName.

WriteToServer(System.Data.DataTable)

WriteToServer(System.Data.DataTable, System.Data.DataRowState)

WriteToServer(System.Data.IDataReader)

Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.WriteToServer(System.Data.DataRow[ ]): Copia todas las filas de la matriz DataRow en una tabla de destino especificada por la propiedad DestinationTableName. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub WriteToServer ( dataRows As DataRow() ) [C#] public void WriteToServer ( DataRow[] dataRows ) [C++] public:

3-16

IBM Data Server Provider for .NET para Informix Dynamic Server

void WriteToServer ( array* dataRows ) [JScript] public function WriteToServer ( dataRows : DataRow[] )

Parmetros dataRows Matriz de objetos DataRow que se debe copiar en la tabla de destino. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una matriz de objetos DataRow en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataRow [] source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.WriteToServer(System.Data.DataTable): Copia todas las filas de la DataTable en la tabla de destino especificada por la propiedad DestinationTableName. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub WriteToServer ( dataTable As DataTable ) [C#] public void WriteToServer ( DataTable dataTable ) [C++] public:Captulo 3. IBM Data Server Provider for .NET

3-17

void WriteToServer ( DataTable* dataTable ) [JScript] public function WriteToServer ( dataTable : DataTable )

Parmetros dataTable Objeto DataTable cuyas filas se copiarn en la tabla de destino. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Mtodo IfxBulkCopy.WriteToServer(System.Data.DataTable, System.Data.DataRowState): Copia solamente las filas que estn en el estado especificado (indicado en DataRowState) de la DataTable en la tabla de destino especificada mediante la propiedad DestinationTableName. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub WriteToServer ( _ dataTable As DataTable, _ rowState As DataRowState _

3-18

IBM Data Server Provider for .NET para Informix Dynamic Server

) [C#] public void WriteToServer ( DataTable dataTable, DataRowState rowState ) [C++] public: void WriteToServer ( DataTable* dataTable, DataRowState rowState ) [JScript] public function WriteToServer ( dataTable : DataTable, rowState : DataRowState )

Parmetros dataTable Objeto DataTable cuyas filas se copiarn en la tabla de destino. rowState Valor de la enumeracin DataRowState que especifica el estado de las filas que se deben copiar en la tabla de destino. Comentarios Los estados permitidos que DataRowState puede especificar son Added, Changed y Unmodified. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source, DataRowState.Unchanged); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos.

Captulo 3. IBM Data Server Provider for .NET

3-19

Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. MtodoIfxBulkCopy.WriteToServer(System.Data.IDataReader): Copia todas las filas de DataReader en una tabla de destino especificada por la propiedad DestinationTableName. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Sub WriteToServer ( dataReader As IDataReader ) [C#] public void WriteToServer ( IDataReader dataReader ) [C++] public: void WriteToServer ( IDataReader* dataReader ) [JScript] public function WriteToServer ( dataReader : IDataReader )

Parmetros dataReader Objeto IDataReader cuyas filas se copiarn en la tabla de destino. Comentarios Para evitar una InvalidOperationException, la instancia de IfxBulkCopy necesita una instancia de IfxConnection que sea distinta a la instancia que IfxDataReader utiliza. Ejemplo [C#] El ejemplo siguiente demuestra una copia masiva de datos de un IfxDataReader en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, IfxDataReader reader) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(reader); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

3-20

IBM Data Server Provider for .NET para Informix Dynamic Server

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Propiedades de IfxBulkCopyLas propiedades de la clase IfxBulkCopy se listan a continuacin.

Propiedades pblicasNombre BulkCopyTimeout Descripcin Nmero de segundos durante los cuales se debe ejecutar la operacin de copia masiva antes de que se produzca un tiempo de espera excedido. Correlaciones de las columnas de la tabla de la fuente de datos con las columnas de la tabla de destino. Nombre de la tabla de destino residente en el servidor. DestinationTableName Errores producidos en la operacin de copia masiva. Errors NotifyAfter Nmero de filas que se deben copiar antes de generar un suceso IfxRowsCopied.

ColumnMappings

Consulta Miembros de IfxBulkCopy en la pgina 3-6 Facilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy. Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Propiedad IfxBulkCopy.BulkCopyTimeout: Nmero de segundos durante los cuales se debe ejecutar la operacin de copia masiva antes de que se produzca un tiempo de espera excedido. Espacio de nombres: IBM.Data.Informix

Captulo 3. IBM Data Server Provider for .NET

3-21

Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Property IfxBulkCopyTimeout As Integer [C#] public int IfxBulkCopyTimeout {get; set;} [C++] public: property int BulkCopyTimeout { int get(); void set (int value); } [JScript] public function get IfxBulkCopyTimeout () : int; public function set IfxBulkCopyTimeout (value : int);

Valor de la propiedad Valor entero de la propiedad IfxBulkCopyTimeout. El valor por omisin es cero, que significa que no hay tiempo de espera. Comentarios Si se proporciona una valor de IfxBulkCopyTimeout, ste alterar temporalmente el tiempo de espera de la consulta. De lo contrario, se aplicar el tiempo de espera de la consulta. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES utilizando un tiempo de espera de 30 segundos.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; salesCopy.BulkCopyTimeout = 30; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider

3-22

IBM Data Server Provider for .NET para Informix Dynamic Server

para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Propiedad IfxBulkCopy.ColumnMappings: Correlaciones de las columnas de la tabla de la fuente de datos con las columnas de la tabla de destino. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Property ColumnMappings As IfxBulkCopyColumnMappingCollection [C#] public IfxBulkCopyColumnMappingCollection ColumnMappings {get; set;} [C++] public: __property IfxBulkCopyColumnMappingCollection* get_ColumnMappings(); public: __property void set_ColumnMappings(IfxBulkCopyColumnMappingCollection*); [JScript] public function get ColumnMappings() : IfxBulkCopyColumnMappingCollection; public function set ColumnMappings(IfxBulkCopyColumnMappingCollection);

Valor de la propiedad Coleccin de correlaciones de columnas. Por omisin, es una coleccin vaca. Comentarios Las correlaciones definidas en la instancia de IfxBulkCopyColumnMappingCollection se validan en la llamada a WriteToServer(). Ejemplo [C#] El ejemplo siguiente demuestra una copia masiva de datos de un IfxDataReader en la tabla DEPARTMENT. Las correlaciones de columnas entre las tablas de origen y de destino se definen en una instancia de IfxBulkCopyColumnMappingCollection.[C#] public static void copyIntoSales(IfxConnection conn, IfxDataReader reader) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "DEPARTMENT"; IfxBulkCopyColumnMappingCollection colMapCollection; colMapCollection = new IfxBulkCopyColumnMappingCollection(); salesCopy.ColumnMappings = colMapCollection; colMapCollection.Add("DEPTNUMB", "DEPTNO"); colMapCollection.Add("DEPTNAME", "DEPTNAME"); colMapCollection.Add("MANAGER", "ADMRDEPT"); colMapCollection.Add("LOCATION", "LOCATION"); try {Captulo 3. IBM Data Server Provider for .NET

3-23

salesCopy.WriteToServer(reader); salesCopy.Close(); } catch (IfxException ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Propiedad IfxBulkCopy.DestinationTableName: Nombre de la tabla de destino del servidor donde se copiarn las filas de la fuente de datos. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Property DestinationTableName As String [C#] public string DestinationTableName {get; set;} [C++] public: __property String* get_DestinationTableName(); public: __property void set_DestinationTableName(String*); [JScript] public function get DestinationTableName() : String; public function set DestinationTableName(String);

Valor de la propiedad Valor de la serie de caracteres del nombre de la tabla de destino. Comentarios Para que la operacin WriteToServer resulte satisfactoria, se debe especificar un valor de DestinationTableName. Si es necesario conservar la sensibilidad a maysculas y minsculas para el nombre de la tabla de destino, debe escribir el nombre de la tabla de destino entre un par adicional de comillas dobles. Por ejemplo:salesCopy.DestinationTable = "\"CanadaSales\"";

3-24

IBM Data Server Provider for .NET para Informix Dynamic Server

El valor que proporcione para DestinationTableName puede incluir, opcionalmente, el nombre de base de datos y el nombre de esquema, adems del nombre de tabla, que es obligatorio. Por ejemplo: SAMPLE.USER.SALES. Ejemplo [C#] El ejemplo siguiente muestra una copia masiva de datos de una fuente DataTable en la tabla SALES.[C#] public static void copyIntoSales(IfxConnection conn, DataTable source) { IfxBulkCopy salesCopy = new IfxBulkCopy(conn); salesCopy.DestinationTableName = "SALES"; try { salesCopy.WriteToServer(source); salesCopy.Close(); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Exception"); } }

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Propiedad IfxBulkCopy.Errors: Errores producidos en la operacin de copia masiva. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Property Errors As IfxErrorCollection [C#] public IfxErrorCollection Errors {get;} [C++] public: __property IfxErrorCollection* get_Errors(); [JScript] public function get Errors() : IfxErrorCollection;

Captulo 3. IBM Data Server Provider for .NET

3-25

Valor de la propiedad Instancia de IfxErrorCollection que representa una coleccin de errores que se han producido durante la operacin de copia masiva. Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Propiedad IfxBulkCopy.NotifyAfter: Nmero de filas que se deben copiar antes de generar un suceso IfxRowsCopied. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Property NotifyAfter As Integer [C#] public int NotifyAfter {get; set;} [C++] public: __property int get_NotifyAfter(); public: __property void set_NotifyAfter(int); [JScript] public function get NotifyAfter() : int; public function set NotifyAfter(int);

Valor de la propiedad Valor entero de la propiedad NotifyAfter que indica el nmero de filas que se deben copiar en la tabla de destino antes de generar un suceso IfxRowsCopied. La propiedad NotifyAfter puede establecerse a partir del manejador de sucesos de IfxRowsCopied. Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider

3-26

IBM Data Server Provider for .NET para Informix Dynamic Server

para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Sucesos de IfxBulkCopyLos sucesos de la clase IfxBulkCopy se listan a continuacin.

Sucesos pblicosNombre IfxRowsCopied Descripcin Se produce cada vez que el nmero de filas copiadas alcanza el valor definido en la propiedad NotifyAfter.

Consulta Miembros de IfxBulkCopy en la pgina 3-6 Facilita la copia de filas de una fuente de datos a otra. Las tablas siguientes listan los miembros expuestos por la clase IfxBulkCopy. Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento. Suceso de IfxBulkCopy.IfxRowsCopied: Se produce cada vez que el nmero de filas copiadas alcanza el valor definido en la propiedad NotifyAfter. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll) SintaxisVisual Basic] Public Event IfxRowsCopied As IfxRowsCopiedEventHandler [C#] public event IfxRowsCopiedEventHandler IfxRowsCopied; [C++] public: event IfxRowsCopiedEventHandler* IfxRowsCopied{ void add (IfxRowsCopiedEventHandler* value); void remove (IfxRowsCopiedEventHandler* value); }

[JScript] En JScript(R), podr manejar los sucesos definidos por una clase, pero no podr declarar nuevos sucesos. Comentarios La aplicacin puede terminar anormalmente la operacin en el manejador de sucesos estableciendo la propiedad Abort de IfxRowsCopiedEventArgs en true.

Captulo 3. IBM Data Server Provider for .NET

3-27

Informacin de versin Versin de .NET Framework Soportado en: 1.1, 2.0 y 3.0 Consulta Clase IfxBulkCopy en la pgina 3-5 Facilita la copia de filas de una fuente de datos a una tabla de una base de datos. Propiedad IfxBulkCopy.NotifyAfter en la pgina 3-26 Nmero de filas que se deben copiar antes de generar un suceso IfxRowsCopied. Espacio de nombres IBM.Data.Informix en la pgina 3-1 El espacio de nombres IBM.Data.Informix es el .NET Framework Data Provider para los servidores de datos IBM. IBM Data Server Provider for .NET ampla el soporte a la interfaz ADO.NET y ofrece acceso a los datos seguro y de alto rendimiento.

Clase IfxBulkCopyColumnMappingRepresenta una correlacin de columnas de la tabla fuente de datos con la tabla de destino. Espacio de nombres: IBM.Data.Informix Conjunto: IBM.Data.Informix (en IBM.Data.Informix.dll)

Jerarqua de herenciaSystem.Object System.MarshalByRefObject IBM.Data.Informix.IfxBulkCopyColumnMapping

SintaxisVisua