SQL Server;如何从具有不同排序规则的另一个数据库导入数据;转换错误?

SQL Server;如何从具有不同排序规则的另一个数据库导入数据;转换错误?

我在服务器上设置了 2 个数据库。我想使用 SSIS 向导将数据从 DB1 导入 DB2 ( right click DB > Tasks > Import Data)

  1. DB1 是源数据库,其排序规则设置为Cyrillic_General_CI_AS
  2. DB2 是目标数据库,其排序规则为SQL_Latin1_General_CP1_CI_AS

我可以使用查询“select * from myTable”来运行向导。这样就可以在我的目标数据库中创建表,没有问题,我不需要保存它。

我第二次运行向导,这样我就可以进入映射并选择“删除现有行”(因为我第一次无法执行此操作)。然后在最后我保存它,将其保存在 SQL 服务器上。

我收到以下错误:

"MyColumn" cannot be processed because more than one code page (1251 and 1252) are specified for it.
 (SQL Server Import and Export Wizard)

我查过 MSDN 并发现文章指出排序规则类型的差异可能会导致数据类型转换的一些问题

建议使用 nvarchars,因此我再次开始确保目标数据库中的表正在使用 nvarchars,但现在出现以下错误

Data Flow Task: The product level is insufficient for component "Data Conversion 1" (197).

将我的目标数据库排序规则更改为西里尔字母不是一个选择,因为稍后我将从其他数据库导入,所以可能会再次遇到这个问题。

我可以做些什么来解决这个问题?我希望我已经提供了足够的信息

谢谢

答案1

我不太了解如何导入不同的排序规则类型,但您是否尝试过将表导出到 .csv 文件中,然后在完成后将其导入目标表。

这不是最有效的方法,但可能是一种解决方法。

相关内容