한 데이터베이스에서 다른 데이터베이스로 데이터를 마이그레이션해야합니다. 나는 예외가있어, SqlBulkCopy의를 사용하지만, 소스 데이터베이스가 목적지와 다른 데이터 정렬을 가지고 있기 때문에, 그것으로 문제가있는 choosed 할, 그래서 :다른 데이터 정렬을 사용하는 SqlBulkCopy
System.InvalidOperationException: The locale id '1049' of the source column 'Id' and the locale id '1033' of the destination column 'Id' do not match.
at System.Data.SqlClient.SqlBulkCopy.AnalyzeTargetAndCreateUpdateBulkCommand(BulkCopySimpleResultSet internalResults)
at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal()
at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount)
at System.Data.SqlClient.SqlBulkCopy.WriteToServer(IDataReader reader)
at MigrateToNormalized.DirectMapCommand.Migrate(SqlConnection source, SqlConnection destination, SqlTransaction transaction) in D:\Projects\APS\DTE\MigrateTo
Normalized\MigrateToNormalized\MigrateToNormalized\DirectMapCommand.cs:line 53
at MigrateToNormalized.Program.Main(String[] args) in D:\Projects\APS\DTE\MigrateToNormalized\MigrateToNormalized\MigrateToNormalized\Program.cs:line 32
사람이 말해 줄 수, 방법을 직접하지 않고이 문제를 해결하려면 SQL 쿼리에서 COLLATE 문을 사용합니까? 원본 데이터베이스의 모든 열에 대해 데이터 정렬을 변경하는 쉬운 방법이 있습니까?
사실,하지만 테이블이 많고 많은 열이 있습니다. 나는 그들 각각에 대해 콜레 션을 변경하고 싶지 않다. –
이 질문에 전혀 대답하지 않습니다. 클라이언트 데이터베이스를 변경하여 작동하지 못하게 할 수 있습니다. – billybob