我使用 SQL Server 2008 在计算机上制作了一个 dtsx 包。它将数据从分号分隔的 csv 文件导入到所有字段类型均为 NVARCHAR MAX 的表中。
它可以在我的计算机上运行,但需要在客户端服务器上运行。每当他们使用相同的 csv 文件和目标表创建相同的包时,他们都会收到上述错误。
我们已经一步步完成了包的创建,一切似乎都正常。映射都是正确的,但是当他们在最后一步中运行包时,他们收到此错误。他们正在使用 SQL Server 2005。
谁能建议从哪里开始寻找这个问题?
最佳答案
从任何非 unicode 源转换为 unicode SQL Server 表的问题可以通过以下方式解决:
- 向您的数据流添加数据转换步骤
- 打开数据转换并为每种适用的数据类型选择 Unicode
- 记下每个适用列的输出别名(默认情况下,它们被命名为 [原始列名称] 的副本)
- 现在,在“目标”步骤中,点击“映射”
- 将所有输入映射更改为来自上一步中的别名列(这是很容易被忽视的步骤,并且会让您想知道为什么仍然会遇到相同的错误)
关于sql-server-2005 - 导入包错误 - 无法在 Unicode 和非 Unicode 字符串数据类型之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1299575/