Tipos de datos de Integration Services

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

Cuando los datos entran en un flujo de datos de un paquete, el origen que los extrae los convierte al 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 la asignación entre Integration Services y los tipos de datos administrados, consulte Trabajar con tipos de datos en el 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 sobre la precisión y la escala, consulte Precisión, escala y longitud (Transact-SQL).

Tipo de datos Descripción
DT_BOOL Valor booleano.
DT_BYTES Un valor de dato binario. La longitud es variable y la longitud máxima es de 8000 bytes.
DT_CY Un valor monetario. 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 valor válido del desfase horario está entre -14 y +14. El signo del desfase de minutos depende del signo del desfase de horas:

Si el signo del ajuste de horas es negativo, el ajuste de minutos debe ser negativo o cero.

Si el signo para el ajuste de horas es positivo, el ajuste de minutos debe ser positivo o cero.

Si el signo del ajuste de horas es cero, el ajuste de minutos puede ser cualquier valor desde 0,59 negativo a 0,59 positivo.
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 29.
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 de dos bytes con signo.
DT_I4 Entero de cuatro bytes con signo.
DT_I8 Un entero de ocho bytes con signo.
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 Valor de punto flotante de precisión sencilla.
DT_R8 Valor de punto flotante de precisión doble.
DT_STR Una cadena de caracteres ANSI/MBCS terminada en NULL, con una longitud máxima de 8000 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 Valor binario con un tamaño máximo de 2^31-1 (2 147 483 647) bytes. .
DT_NTEXT Cadena de caracteres Unicode con una longitud máxima de 2^30–1 (1 073 741 823) caracteres.
DT_TEXT Una cadena de caracteres ANSI/MBCS con una longitud máxima de 2^31-1 (2 147 483 647) caracteres.

Conversión de 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 de una columna con un tipo de datos DT_UI8 siempre son enteros entre 0 y 3000, puede cambiar el tipo de datos a DT_UI2. Del mismo modo, si una columna con el tipo de datos DT_CY puede satisfacer los requisitos de datos del paquete al usar en su lugar un tipo de datos entero, puede cambiar el tipo de datos a DT_I4.

Puede cambiar el tipo de datos de una columna de las siguientes maneras:

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 aaaa-mm-dd
    DT_FILETIME aaaa-mm-dd hh:mm:ss:fff
    DT_DBTIME hh:mm:ss
    DT_DBTIME2 hh:mm:ss[.fffffff]
    DT_DBTIMESTAMP aaaa-mm-dd hh:mm:ss[.fff]
    DT_DBTIMESTAMP2 aaaa-mm-dd hh:mm:ss[.fffffff]
    DT_DBTIMESTAMPOFFSET aaaa-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.

Conversión desde DT_FILETIME

Convertir DT_FILETIME a Resultado
DT_FILETIME Sin cambios.
DT_DATE Convierte el tipo de datos.
DT_DBDATE Elimina el valor de tiempo.
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 más información, vea Control de errores en los datos.
DT_DBTIME2 Quita el valor de fecha representado por el tipo de datos DT_FILETIME.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que el tipo de datos DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIMESTAMP Convierte el tipo de datos.
DT_DBTIMESTAMP2 Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMPOFFSET Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de 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.

Conversión desde DT_DBDATE

Convertir DT_DBDATE en 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.

Conversión desde 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.

Conversión desde DT_DBTIME2

Convertir DT_DBTIME2 en Resultado
DT_FILETIME Establece el campo de fecha del tipo de datos DT_FILETIME en la fecha actual.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios de los 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 más información, vea Control de errores en los datos.
DT_DATE Establece el campo de fecha del tipo de datos DT_DATE en la fecha actual.

Elimina el valor de fracción de segundo cuando su escala es mayor que el número de dígitos de fracción 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 más información, vea Control de errores en los datos.
DT_DBDATE Establece el campo de fecha del tipo de datos DT_DBDATE en la fecha actual.
DT_DBTIME Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos DT_DBTIME. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIME2 Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos de destino DT_DBTIME2. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIMESTAMP Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP en la fecha actual.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMP2 Establece el campo de fecha del tipo de datos DT_DBTIMESTAMP2 en la fecha actual.

Elimina el valor de la fracción de segundo cuando su escala es mayor que el número de dígitos de fracción de segundo que el tipo de datos DT_DBTIMESTAMP2 puede admitir. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de 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 más información, vea Control de errores en los datos.

Conversión desde 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 rango del tipo de datos DT_DATE, se devuelve el error DB_E_DATAOVERFLOW. Para más información, vea Control de 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.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos DT_DBTIME. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIME2 Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que el tipo de datos DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIMESTAMP Sin cambios.
DT_DBTIMESTAMP2 Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMPOFFSET Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.

Conversión desde DT_DBTIMESTAMP2

Convertir DT_DBTIMESTAMP2 a Resultado
DT_FILETIME Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de 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 más información, vea Control de errores en los datos.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos DT_DATE. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de 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.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos DT_DBTIME. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIME2 Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMP2.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que el tipo de datos DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de 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 se corresponde con un tipo de datos de SQL Server, datetime2, con un intervalo comprendido entre el 1 de enero del año 1 d. C. y 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 1753 hasta el 31 de diciembre de 9999.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 sobre los errores, vea Control de errores en los datos.
DT_DBTIMESTAMP2 Elimina el valor de segundos fraccionarios cuando su escala es mayor que la cantidad de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMPOFFSET Establece en cero el campo de zona horaria del tipo de datos DT_DBTIMESTAMPOFFSET.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.

Conversión desde 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).

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios de los 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 más información, vea Control de errores en los datos.
DT_DATE Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a 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.

Elimina el valor de fracción de segundo cuando su escala es mayor que el número de dígitos de fracción 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 más información, vea Control de 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 UTC.

Elimina el valor de datos representado por el tipo de datos DT_DBTIMESTAMPEOFFSET.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos DT_DBTIME. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIME2 Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a UTC.

Quita el valor de fecha representado por el tipo de datos DT_DBTIMESTAMPOFFSET.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que el tipo de datos DT_DBTIME2 puede contener. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.
DT_DBTIMESTAMP Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a 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.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMP2 Cambia el valor de hora representado por el tipo de datos DT_DBTIMESTAMPOFFSET a UTC.

Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios 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 más información, vea Control de errores en los datos.
DT_DBTIMESTAMPOFFSET Elimina el valor de segundos fraccionarios cuando su escala es mayor que el número de dígitos de segundos fraccionarios que puede contener el tipo de datos de destino DT_DBTIMESTAMPOFFSET. Después de quitar el valor de fracciones de segundo, genera un informe sobre este truncamiento de datos. Para más información, vea Control de errores en los datos.

Asignación de los tipos de datos de Integration Services a los tipos de datos de la base 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 sobre estos archivos de asignación, vea Asistente para importación y exportación de SQL Server.

Importante

Estas correspondencias no pretenden representar equivalencias estrictas, sino únicamente servir de guía. En ciertas situaciones, puede ser necesario utilizar un tipo de datos diferente del incluido en esta tabla.

Nota:

Puede usar los tipos de datos de SQL Server para calcular el tamaño de los tipos de datos de fecha y hora de Integration Services correspondientes.

Tipo de datos SQL Server

(SQLOLEDB; SQLNCLI10)
SQL Server (SqlClient) Jet Oracle

(OracleClient)
DB2

(DB2OLEDB)
DB2

(IBMDADB2)
DT_BOOL bit bit bit
DT_BYTES binario, varbinario, marca temporal binario, varbinario, marca temporal BigBinary, VarBinary RAW
DT_CY smallmoney, money smallmoney, money Moneda
DT_DATE
DT_DBDATE Fecha (Transact-SQL) Fecha (Transact-SQL) fecha fecha fecha
DT_DBTIME marca temporal tiempo tiempo
DT_DBTIME2 Tiempo (Transact-SQL)(p) Tiempo (Transact-SQL) (p)
DT_DBTIMESTAMP datetime (Transact-SQL), smalldatetime (Transact-SQL) datetime (Transact-SQL), smalldatetime (Transact-SQL) Fecha y hora MARCA TEMPORAL, FECHA, INTERVALO HORA, SELLO DE TIEMPO, FECHA HORA, SELLO DE TIEMPO, FECHA
DT_DBTIMESTAMP2 datetime2 (Transact-SQL) datetime2 (Transact-SQL) marca temporal marca temporal marca temporal
DT_DBTIMESTAMPOFFSET datetimeoffset (Transact-SQL)(p) datetimeoffset (Transact-SQL) (p) timestampoffset marca temporal,

varchar
marca de tiempo,

varchar
DT_DECIMAL
DT_FILETIME
DT_GUID uniqueidentifier uniqueidentifier GUID
DT_I1
DT_I2 smallint smallint Corto SMALLINT SMALLINT
DT_I4 int int long INTEGER INTEGER
DT_I8 bigint bigint BIGINT BIGINT
DT_NUMERIC decimal, numeric decimal, numeric Decimal NÚMERO, INT decimal, numeric decimal, numeric
DT_R4 real real Single real real
DT_R8 flotante flotante Double FLOAT, REAL FLOAT, DOUBLE FLOAT, DOUBLE
DT_STR Char, Varchar VarChar 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 CHAR, ROWID, VARCHAR2, NVARCHAR2, NCHAR GRÁFICO, VARGRAPHIC GRÁFICO, VARGRAPHIC
DT_IMAGE imagen imagen LongBinary 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 texto, ntext LONG, CLOB, NCLOB, NVARCHAR, TEXT LONG VARCHAR, NCHAR, NVARCHAR, TEXT LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT
DT_TEXT text VARCHAR LARGO PARA DATOS EN BIT LONG VARCHAR FOR BIT DATA, CLOB

Para obtener información sobre la asignación de tipos de datos en el flujo de datos, vea Trabajar con tipos de datos del flujo de datos.