Introducción
Como ya lo he comentado con anterioridad, una de las maneras más eficientes de cargar datos a una tabla sql server es mediante el uso de la clase SqlBulkCopy.
Problema
En ocasiones, cuando se trabaja con diferentes servidores, puede suceder que cada uno de ellos tenga configurado diferente intercalación, sobre todo si se es principiante, como en mi caso, no nos dice nada el término Intercalación al momento de instalar una instancia de SQL Server y tampoco al crear una base de datos. El caso es que cuando estaba haciendo mis copias de respaldo de información entre servidores utilizando la clase SqlBulkCopy me pareció el siguiente mensaje de error:
El id. de configuración regional '3082' de la columna de origen 'NombreColumna' y el id. de configuración regional '1033' de la columna de destino 'NombreColumna' no coinciden.
Solución
Revisando en la red encontré dos posibles soluciones (seguramente hay más, pero solo probé estas):
1) Cambiar la intercalación en alguna de las columnas, ya sea de la tabla fuente o destino para hacerlas coincidir, con la instrucción SQL
ALTER TABLE NombreTabla ALTER COLUMN NombreColumna varchar(50) COLLATE SQL_Latin1_General_CP1_CI_AS
o,
2) Indicar la intercalación en el momento de recuperar la información con la siguiente instrucción SELECT:
SELECT NombreColumna COLLATE SQL_Latin1_General_CP1_CI_AS AS NombreColumna FROM NombreTabla
En mi caso, utilicé la segunda opción modificando el stored procedure que llenaba mi sqldatareader debido a que era lo que más convenía a lo que necesitaba.
Hasta la próxima!!