Мне нужно перенести данные из одной базы данных в другую. Я выбрал использовать 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
Может кто-нибудь сказать мне, как решить эту проблему без прямого использование операторов COLLATE в SQL-запросе? Есть ли простой способ изменить сортировку для всех столбцов в исходной базе данных?
Это правда, но у меня много таблиц и много столбцов. Я не хочу менять коллажи для каждого из них вручную. –
Это вообще не отвечает на вопрос. Вы не можете изменить базу данных клиента, чтобы она работала. – billybob