A medio camino a través de un proyecto de SSIS ciertos campos de la tabla cambiaron char(30)
-nvarchar(30)
SSIS conseguir tipo de columna mal con conector OLEDB
Sin embargo, cuando se ejecutan los paquetes SSIS, un error que indica cannot convert from unicode to non-unicode
aparece. Estoy tratando de transferir datos directamente desde una fuente de base de datos a su destino.
Ambas conexiones usan el mismo esquema de base de datos, por lo que no debe haber ninguna conversión.
Al verificar el tipo de datos de la columna externa muestra D_STR
, que ya no es el caso.
He intentado eliminar el origen y el destino con la esperanza de que pueda limpiar cualquier tipo de datos en caché, pero no funcionó.
¿Alguna idea?
Eso fue todo. No pude encontrar una manera de restablecer los metadatos almacenados en caché en el flujo, pero eso fue lo que hizo. Sin embargo, es bastante malo tener que hacer eso, ya que uno tiene que volver a crear las asignaciones en el destino: S – cfrag
Piense en cada columna como una tubería por la cual fluirán los datos. En el momento del diseño, le dijo a Ssis que necesitaba una tubería capaz de dejar pasar 30 bytes. Luego, en tiempo de ejecución, trataste de meter 60 bytes a través de un conducto de 30 bytes. Al desmarcar la columna, y luego volver a verificar, obligó a ssis a revisar los datos y reemplazar el 30 con un conducto de 60 bytes. – brian
Entiendo la necesidad de los metadatos. Lo que no entiendo es la falta de un botón de "actualizar metadatos de columna" para forzar ese "cambio de tamaño". En su lugar, uno tiene que volver a hacer toda la tubería. – cfrag