我需要將數據從一個數據庫遷移到另一個數據庫。我選用使用SqlBulkCopy的,但有它的問題,因爲源數據庫具有不同的排序規則,而不目的地,所以,我有一個例外:使用不同排序規則的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語句?是否有一些簡單的方法可以更改源數據庫中所有列的排序規則?
這是真的,但我有很多的表和很多列。我不想手動更改他們每個人的通風。 – 2010-12-13 18:42:15
這完全沒有回答這個問題。您無法更改客戶端數據庫以使其正常工作。 – billybob 2017-11-16 22:32:54