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 en un paquete, el origen que extrae los datos convierte los datos 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 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 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:

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 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 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 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:

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 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 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.

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 más información, vea Control de 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 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.

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.

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 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.

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 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 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 más información, vea Control de 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 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.

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 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.

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 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.

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 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.

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 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.

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 más información, vea Control de 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 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.

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.

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 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.

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 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.

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 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.

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 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 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 sobre los errores, vea Control de 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 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.

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.

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 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.

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 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.

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 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.

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 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.

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 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.

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 más información, vea Control de 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 más información, vea Control de errores en los datos.

Asignación de 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 sobre estos archivos de asignación, vea 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.

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 binary, varbinary, timestamp binary, varbinary, timestamp BigBinary, VarBinary RAW
DT_CY smallmoney, money smallmoney, money Moneda
DT_DATE
DT_DBDATE date (Transact-SQL) date (Transact-SQL) date date date
DT_DBTIME timestamp time time
DT_DBTIME2 time (Transact-SQL)(p) time (Transact-SQL) (p)
DT_DBTIMESTAMP datetime (Transact-SQL), smalldatetime (Transact-SQL) datetime (Transact-SQL), smalldatetime (Transact-SQL) DateTime TIMESTAMP, DATE, INTERVAL TIME, TIMESTAMP, DATE TIME, TIMESTAMP, DATE
DT_DBTIMESTAMP2 datetime2 (Transact-SQL) datetime2 (Transact-SQL) timestamp timestamp timestamp
DT_DBTIMESTAMPOFFSET datetimeoffset (Transact-SQL)(p) datetimeoffset (Transact-SQL) (p) 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 ENTERO
DT_I8 bigint bigint bigint bigint
DT_NUMERIC decimal, numeric decimal, numeric Decimal NUMBER, INT decimal, numeric decimal, numeric
DT_R4 real real Single real REAL
DT_R8 FLOAT FLOAT 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 GRAPHIC, VARGRAPHIC GRAPHIC, 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 text, ntext LONG, CLOB, NCLOB, NVARCHAR, TEXT LONG VARCHAR, NCHAR, NVARCHAR, TEXT LONG VARCHAR, DBCLOB, NCHAR, NVARCHAR, TEXT
DT_TEXT text LONG VARCHAR FOR BIT DATA 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.

Entrada de blog, sobre la comparación de rendimiento entre las técnicas de conversión de tipos de datos en SSIS 2008, en blogs.msdn.com.

Consulte también

Datos de flujos de datos