Tipos de datos de Integration Services
Cuando los datos entran en un flujo de datos en un paquete, el origen que extrae los datos los convierte en un tipo de datos de Integration Services. A los datos numéricos se les asigna un tipo de dato numérico, a los datos de cadena se les asigna un tipo de datos de caracteres y se asignan fechas a un tipo de datos de fecha. A otros datos, tales como GUID y bloques de objetos binarios grandes (BLOB), también se les asignan los tipos de datos de Integration Services correspondientes. Si los datos son de un tipo que no se puede convertir en un tipo de datos de Integration Services se produce un error.
Algunos componentes de flujo de datos convierten tipos de datos entre los tipos de datos de Integration Services y los tipos de datos administrados de Microsoft.NET Framework. Para obtener más información sobre las asignaciones entre los tipos de datos de Integration Services y los tipos de datos administrados, vea Trabajar con tipos de datos del flujo de datos.
La siguiente tabla enumera los tipos de datos de Integration Services. Algunos de los tipos de datos de la tabla tienen la información de precisión y escala que les corresponde. Para obtener más información acerca de precisión y escala, vea Precisión, escala y longitud (Transact-SQL).
Tipo de datos |
Descripción |
---|---|
DT_BOOL |
Un valor booleano. |
DT_BYTES |
Un valor de datos binarios. La longitud es variable y la longitud máxima es de 8000 bytes. |
DT_CY |
Un valor de moneda. Este tipo de datos es un entero con signo de 8 bytes con una escala de 4 y una precisión máxima de 19 dígitos. |
DT_DATE |
Una estructura de fecha formada por año, mes, día, hora, minuto, segundo y fracciones de segundo. Las fracciones de segundo tienen una escala fija de 7 dígitos. El tipo de datos DT_DATE se implementa utilizando un número de punto flotante de 8 bytes. Los días se representan mediante incrementos de números enteros, comenzando por el 30 de diciembre de 1899 y la medianoche como hora cero. Los valores de hora se expresan como el valor absoluto de la parte fraccionaria del número. Sin embargo, un valor de punto flotante no puede representar todos los valores reales; por lo tanto, existen límites en el intervalo de fechas que se puede presentar en DT_DATE. Por otra parte, DT_DBTIMESTAMP se representa mediante una estructura que posee internamente campos individuales para año, mes, día, horas, minutos, segundos y milisegundos. Este tipo de datos tiene límites más amplios que los intervalos de fechas que puede presentar. |
DT_DBDATE |
Una estructura de fecha compuesta por año, mes y día. |
DT_DBTIME |
Una estructura de hora compuesta por horas, minutos y segundos. |
DT_DBTIME2 |
Una estructura de hora formada por hora, minuto, segundo y fracciones de segundo. Las fracciones de segundo tienen una escala máxima de 7 dígitos. |
DT_DBTIMESTAMP |
Una estructura de marca de tiempo formada por año, mes, día, hora, minuto, segundo y fracciones de segundo. Las fracciones de segundo tienen una escala máxima de 3 dígitos. |
DT_DBTIMESTAMP2 |
Una estructura de marca de tiempo formada por año, mes, día, hora, minuto, segundo y fracciones de segundo. Las fracciones de segundo tienen una escala máxima de 7 dígitos. |
DT_DBTIMESTAMPOFFSET |
Una estructura de marca de tiempo formada por año, mes, día, hora, minuto, segundo y fracciones de segundo. Las fracciones de segundo tienen una escala máxima de 7 dígitos. A diferencia de los tipos de datos DT_DBTIMESTAMP y DT_DBTIMESTAMP2, el tipo de datos DT_DBTIMESTAMPOFFSET tiene un ajuste de zona horaria. Este ajuste especifica el desplazamiento de la hora en número de horas y minutos respecto a la hora universal coordinada (UTC). El sistema utiliza el ajuste de zona horaria para obtener la hora local. El ajuste de zona horaria debe incluir un signo, más o menos, para indicar si el ajuste se agrega o se resta de la UTC. El número válido de ajuste de horas está entre -14 y +14. El signo para el ajuste de minutos depende del signo del ajuste de horas:
|
DT_DECIMAL |
Un valor numérico exacto con una precisión fija y una escala fija. Este tipo de dato es un entero sin signo de 12 bytes con un signo aparte, una escala de 0 a 28 y una precisión máxima de 28. |
DT_FILETIME |
Un valor de 64 bits que representa la cantidad de intervalos de 100 nanosegundos desde el 1 de enero de 1601. Las fracciones de segundo tienen una escala máxima de 3 dígitos. |
DT_GUID |
Identificador único global (GUID). |
DT_I1 |
Un entero con signo de un byte. |
DT_I2 |
Un entero con signo de dos bytes. |
DT_I4 |
Un entero con signo de cuatro bytes. |
DT_I8 |
Un entero con signo de ocho bytes. |
DT_NUMERIC |
Un valor numérico exacto con una precisión y escala fijas. Este tipo de dato es un entero sin signo de 16 bytes con un signo aparte, una escala de 0 a 38 y una precisión máxima de 38. |
DT_R4 |
Un valor de coma flotante y precisión única. |
DT_R8 |
Un valor de coma flotante y precisión doble. |
DT_STR |
Una cadena de caracteres ANSI/MBCS terminada en NULL, con una longitud máxima de 8.000 caracteres. (Si un valor de columna contiene otros terminadores NULL, la cadena se truncará cuando se encuentre el primer NULL.) |
DT_UI1 |
Un entero sin signo de un byte. |
DT_UI2 |
Un entero sin signo de dos bytes. |
DT_UI4 |
Un entero sin signo de cuatro bytes. |
DT_UI8 |
Un entero sin signo de ocho bytes. |
DT_WSTR |
Una cadena de caracteres Unicode terminada en NULL, con una longitud máxima de 4000 caracteres. (Si un valor de columna contiene otros terminadores NULL, la cadena se truncará cuando se encuentre el primer NULL.) |
DT_IMAGE |
Un valor binario con un tamaño máximo de 231-1 (2.147.483.647) bytes. . |
DT_NTEXT |
Una cadena de caracteres Unicode con una longitud máxima de 230 - 1 (1.073.741.823) caracteres. |
DT_TEXT |
Una cadena de caracteres ANSI/MBCS con una longitud máxima de 231 -1 (2.147.483.647) caracteres. |
Convertir tipos de datos
Si los datos en una columna no requieren el ancho total asignado por el tipo de datos de origen, puede ser recomendable cambiar el tipo de datos de la columna. Si se hace que cada fila de datos sea lo más estrecha posible, esto ayuda a optimizar el rendimiento cuando se transfieren datos porque, cuanto más estrecha sea una fila, más rápido los datos se desplazarán del origen al destino.
Integration Services incluye un conjunto completo de tipos de datos numéricos, de manera que puede hacer coincidir estrechamente el tipo de datos con el tamaño de los datos. Por ejemplo, si los valores en una columna con un tipo de datos DT_UI8 siembre son enteros entre 0 y 3000, puede cambiar el tipo de datos a DT_UI2. De forma similar, si una columna con el tipo de datos DT_CY puede reunir los requisitos de datos de paquete utilizando un tipo de datos enteros, puede cambiar el tipo de datos a DT_I4.
Puede cambiar el tipo de datos de una columna de las siguientes maneras:
Utilice una expresión para convertir los tipos de datos implícitamente. Para obtener más información, vea Conversión implícita de tipo de datos en expresiones, Tipos de datos de Integration Services en las expresiones y Usar expresiones en paquetes.
Utilice el operador de conversión para convertir los tipos de datos. Para obtener más información, vea Conversión de tipos (SSIS).
Utilice la transformación de conversión de datos para convertir el tipo de datos de una columna de un tipo de datos en un tipo de datos diferente. Para obtener más información, vea Transformación Conversión de datos.
Utilice la transformación Columna derivada para crear una copia de una columna que tiene un tipo de datos distinto al de la columna original. Para obtener más información, vea Transformación Columna derivada.
Conversión entre los tipos de datos de cadena y de fecha u hora
En la tabla siguiente se enumeran los resultados de la conversión entre los tipos de datos de fecha u hora, y las cadenas:
Al utilizar el operador de conversión o la transformación Conversión de datos, el tipo de datos de fecha u hora se convertirá al formato de cadena correspondiente. Por ejemplo, el tipo de datos DT_DBTIME se convertirá en una cadena que tiene el formato "hh:mm:ss".
Si desea convertir una cadena en un tipo de datos de fecha u hora, la cadena debe utilizar el formato de cadena que se corresponda con el tipo de datos de fecha u hora apropiados. Por ejemplo, para convertir correctamente algunas cadenas de fecha en el tipo de datos DT_DBDATE, deben estar en el formato "aaaa-mm-dd".
Tipo de datos
Formato de cadena
DT_DBDATE
yyyy-mm-dd
DT_FILETIME
yyyy-mm-dd hh:mm:ss:fff
DT_DBTIME
hh:mm:ss
DT_DBTIME2
hh:mm:ss[.fffffff]
DT_DBTIMESTAMP
yyyy-mm-dd hh:mm:ss[.fff]
DT_DBTIMESTAMP2
yyyy-mm-dd hh:mm:ss[.fffffff]
DT_DBTIMESTAMPOFFSET
yyyy-mm-dd hh:mm:ss[.fffffff] [{+|-} hh:mm]
En el formato para DT_FILETIME y DT_DBTIMESTAMP fff es un valor entre 0 y 999 que representa las fracciones de segundo.
En el formato de fecha para DT_DBTIMESTAMP2, DT_DBTIME2 y DT_DBTIMESTAMPOFFSET, fffffff es un valor entre 0 y 9999999 que representa fracciones de segundo.
El formato de fecha para DT_DBTIMESTAMPOFFSET también incluye un elemento de zona horaria. Hay un espacio entre el elemento de tiempo y el elemento de zona horaria.
Convertir tipos de datos de fecha y hora
Puede cambiar el tipo de datos en una columna con los datos de fecha/hora para extraer la parte de la fecha o la hora de los datos. En las tablas siguientes se muestran listas de los resultados de cambiar de un tipo de datos de fecha y hora a otro.
Convertir a partir de DT_FILETIME
Convertir DT_FILETIME a |
Resultado |
---|---|
DT_FILETIME |
Sin cambios. |
DT_DATE |
Convierte el tipo de datos. |
DT_DBDATE |
Quita el valor de hora. |
DT_DBTIME |
Quita el valor de fecha. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos fraccionarios que el tipo de datos DT_DBTIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIME2 |
Quita el valor de fecha representado por el tipo de datos DT_FILETIME. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP |
Convierte el tipo de datos. |
DT_DBTIMESTAMP2 |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMPOFFSET |
Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMPOFFSET puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
Convertir a partir de DT_DATE
Convertir DT_DATE a |
Resultado |
---|---|
DT_FILETIME |
Convierte el tipo de datos. |
DT_DATE |
Sin cambios. |
DT_DBDATE |
Quita el valor de hora representado por el tipo de datos DT_DATA. |
DT_DBTIME |
Quita el valor de fecha representado por el tipo de datos DT_DATA. |
DT_DBTIME2 |
Quita el valor de fecha representado por el tipo de datos DT_DATA. |
DT_DBTIMESTAMP |
Convierte el tipo de datos. |
DT_DBTIMESTAMP2 |
Convierte el tipo de datos. |
DT_DBTIMESTAMPOFFSET |
Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET. |
Convertir a partir de DT_DBDATE
Convertir DT_DBDATE a |
Resultado |
---|---|
DT_FILETIME |
Establece en cero los campos de hora del tipo de datos DT_FILETIME. |
DT_DATE |
Establece en cero los campos de hora del tipo de datos DT_DATE. |
DT_DBDATE |
Sin cambios. |
DT_DBTIME |
Establece en cero los campos de hora del tipo de datos DT_DBTIME. |
DT_DBTIME2 |
Establece en cero los campos de hora del tipo de datos DT_DBTIME2. |
DT_DBTIMESTAMP |
Establece en cero los campos de hora del tipo de datos DT_DBTIMESTAMP. |
DT_DBTIMESTAMP2 |
Establece en cero los campos de hora del tipo de datos DT_DBTIMESTAMP. |
DT_DBTIMESTAMPOFFSET |
Establece en cero los campos de hora y el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET. |
Convertir a partir de DT_DBTIME
Convertir DT_DBTIME a |
Resultado |
---|---|
DT_FILETIME |
Establece el campo de fecha del tipo de datos DT_FILETIME en la fecha actual. |
DT_DATE |
Establece el campo de fecha del tipo de datos DT_DATE en la fecha actual. |
DT_DBDATE |
Establece el campo de fecha del tipo de datos DT_DBDATE en la fecha actual. |
DT_DBTIME |
Sin cambios. |
DT_DBTIME2 |
Convierte el tipo de datos. |
DT_DBTIMESTAMP |
Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP en la fecha actual. |
DT_DBTIMESTAMP2 |
Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP2 en la fecha actual. |
DT_DBTIMESTAMPOFFSET |
Establece el campo de fecha y el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET en la fecha actual y en cero respectivamente. |
Convertir a partir de DT_DBTIME2
Convertir DT_DBTIME2 a |
Resultado |
---|---|
DT_FILETIME |
Establece el campo de fecha del tipo de datos DT_FILETIME en la fecha actual. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_FILETIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DATE |
Establece el campo de fecha del tipo de datos DT_DATE en la fecha actual. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DATE puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBDATE |
Establece el campo de fecha del tipo de datos DT_DBDATE en la fecha actual. |
DT_DBTIME |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIME2 |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de destino DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP |
Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP en la fecha actual. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP2 |
Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP2 en la fecha actual. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMPOFFSET |
Establece el campo de fecha y el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET en la fecha actual y en cero respectivamente. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMPOFFSET puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
Convertir a partir de DT_DBTIMESTAMP
Convertir DT_DBTIMESTAMP a |
Resultado |
---|---|
DT_FILETIME |
Convierte el tipo de datos. |
DT_DATE |
Si un valor representado por el tipo de datos DT_DBTIMESTAMP desborda el intervalo del tipo de datos DT_DATE, se devuelve el error DB_E_DATAOVERFLOW. Para obtener más información, vea Controlar errores en los datos. |
DT_DBDATE |
Quita el valor de hora representado por el tipo de datos DT_DBTIMESTAMP. |
DT_DBTIME |
Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIME2 |
Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP |
Sin cambios. |
DT_DBTIMESTAMP2 |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMPOFFSET |
Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMPOFFSET puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
Convertir a partir de DT_DBTIMESTAMP2
Convertir DT_DBTIMESTAMP2 a |
Resultado |
---|---|
DT_FILETIME |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_FILETIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DATE |
Si un valor representado por el tipo de datos DT_DBTIMESTAMP2 desborda el intervalo del tipo de datos DT_DATE, se devuelve el error DB_E_DATAOVERFLOW. Para obtener más información, vea Controlar errores en los datos. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DATE puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBDATE |
Quita el valor de hora representado por el tipo de datos DT_DBTIMESTAMP2. |
DT_DBTIME |
Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP2. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIME2 |
Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP2. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP |
Si un valor representado por el tipo de datos DT_DBTIMESTAMP2 desborda el intervalo del tipo de datos DT_DBTIMESTAMP, se devuelve el error DB_E_DATAOVERFLOW. DT_DBTIMESTAMP2 asigna a un tipo de datos de SQL Server, datetime2, con un intervalo desde el 1 de enero del año 1 hasta el 31 de diciembre del año 9999. DT_DBTIMESTAMP se asigna a un tipo de datos de SQL Server, datetime, con un intervalo menor, del 1 de enero de 1.753 hasta el 31 de diciembre de 9.999. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información acerca de los errores, vea Controlar errores en los datos. |
DT_DBTIMESTAMP2 |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de destino DT_DBTIMESTAMP2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMPOFFSET |
Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMPOFFSET puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
Convertir a partir de DT_DBTIMESTAMPOFFSET
Convertir DT_DBTIMESTAMPOFFSET a |
Resultado |
---|---|
DT_FILETIME |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_FILETIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DATE |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Si un valor representado por el tipo de datos DT_DBTIMESTAMPOFFSET desborda el intervalo del tipo de datos DT_DATE, se devuelve el error DB_E_DATAOVERFLOW. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DATE puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBDATE |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a UTC, lo que puede afectar al valor de fecha. A continuación se quita el valor de hora. |
DT_DBTIME |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMPEOFFSET. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIME puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIME2 |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMPOFFSET. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Si un valor representado por el tipo de datos DT_DBTIMESTAMPOFFSET desborda el intervalo del tipo de datos DT_DBTIMESTAMP, se devuelve el error DB_E_DATAOVERFLOW. Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMP2 |
Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a la hora universal coordinada (UTC). Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos DT_DBTIMESTAMP2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
DT_DBTIMESTAMPOFFSET |
Quita el valor de fracciones de segundo cuando su escala es mayor que el número de dígitos de fracciones de segundo que el tipo de datos de destino DT_DBTIMESTAMPOFFSET puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para obtener más información, vea Controlar errores en los datos. |
Asignar tipos de datos de Integration Services a tipos de datos de bases de datos
En la siguiente tabla se proporciona orientación sobre cómo asignar los tipos de datos que usan ciertas bases de datos a los tipos de datos de Integration Services. Estas asignaciones se resumen a partir de los archivos de asignación que utiliza el Asistente para importación y exportación de SQL Server cuando importa datos de los orígenes mencionados. Para obtener más información acerca de estos archivos de asignación, vea Importar o exportar datos con el Asistente para importación y exportación de SQL Server.
Importante |
---|
Estas asignaciones no están diseñadas para representar equivalencias estrictas, sino solo para ofrecer orientación. En ciertas situaciones, puede ser necesario utilizar un tipo de datos diferente del incluido en esta tabla. |
Tipo de datos |
SQL Server (SQLOLEDB; SQLNCLI10) |
SQL Server (SqlClient) |
Jet |
Oracle (MSDAORA) |
Oracle (OracleClient) |
DB2 (DB2OLEDB) |
DB2 (IBMDADB2) |
---|---|---|---|---|---|---|---|
DT_BOOL |
bit |
bit |
Bit |
||||
DT_BYTES |
binary, varbinary, timestamp |
binary, varbinary, timestamp |
BigBinary, VarBinary |
RAW |
RAW |
||
DT_CY |
smallmoney, money |
smallmoney, money |
Currency |
||||
DT_DATE |
|||||||
DT_DBDATE |
date |
date |
date |
date |
date |
date |
|
DT_DBTIME |
timestamp |
timestamp |
time |
time |
|||
DT_DBTIME2 |
time(p) |
time(p) |
|||||
DT_DBTIMESTAMP |
datetime, smalldatetime |
datetime, smalldatetime |
DateTime |
TIMESTAMP, DATE, INTERVAL |
TIMESTAMP, DATE, INTERVAL |
TIME, TIMESTAMP, DATE |
TIME, TIMESTAMP, DATE |
DT_DBTIMESTAMP2 |
datetime2 |
datetime2 |
timestamp |
timestamp |
timestamp |
timestamp |
|
DT_DBTIMESTAMPOFFSET |
datetimeoffset(p) |
datetimeoffset(p) |
timestampoffset |
timestampoffset |
timestamp, varchar |
timestamp, varchar |
|
DT_DECIMAL |
|||||||
DT_FILETIME |
|||||||
DT_GUID |
uniqueidentifier |
uniqueidentifier |
GUID |
||||
DT_I1 |
|||||||
DT_I2 |
smallint |
smallint |
Short |
SMALLINT |
SMALLINT |
||
DT_I4 |
int |
int |
Long |
INTEGER |
INTEGER |
||
DT_I8 |
bigint |
bigint |
BIGINT |
BIGINT |
|||
DT_NUMERIC |
decimal, numeric |
decimal, numeric |
Decimal |
NUMBER, INT |
NUMBER, INT |
DECIMAL, NUMERIC |
DECIMAL, NUMERIC |
DT_R4 |
real |
real |
Single |
REAL |
REAL |
||
DT_R8 |
float |
float |
Double |
FLOAT, REAL |
FLOAT, REAL |
FLOAT, DOUBLE |
FLOAT, DOUBLE |
DT_STR |
char, varchar |
VarChar |
CHAR, ROWID, VARCHAR2 |
CHAR, VARCHAR |
CHAR, VARCHAR |
||
DT_UI1 |
tinyint |
tinyint |
Byte |
||||
DT_UI2 |
|||||||
DT_UI4 |
|||||||
DT_UI8 |
|||||||
DT_WSTR |
nchar, nvarchar, sql_variant, xml |
char, varchar, nchar, nvarchar, sql_variant, xml |
LongText |
NVARCHAR2, NCHAR |
CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR |
GRAPHIC, VARGRAPHIC |
GRAPHIC, VARGRAPHIC |
DT_IMAGE |
image |
image |
LongBinary |
LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, definido por el usuario |
LONG RAW, BLOB, LOBLOCATOR, BFILE, VARGRAPHIC, LONG VARGRAPHIC, definido por el usuario |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA |
CHAR () FOR BIT DATA, VARCHAR () FOR BIT DATA, BLOB |
DT_NTEXT |
ntext |
text, ntext |
NCLOB, NVARCHAR, TEXT |
LONG, CLOB, NCLOB, NVARCHAR, TEXT |
LONG VARCHAR, NCHAR, NVARCHAR, TEXT |
LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT |
|
DT_TEXT |
text |
CLOB, LONG |
LONG VARCHAR FOR BIT DATA |
LONG VARCHAR FOR BIT DATA, CLOB |
Para obtener información acerca de la asignación de tipos de datos en el flujo de datos, vea Trabajar con tipos de datos del flujo de datos.
|
Historial de cambios
Contenido actualizado |
---|
Se ha corregido la descripción del tipo de datos DT_DATE. |