尝试使用"任务/导出数据"菜单将表导出到平面文件.
我正在尝试导出到ANSI 1252代码页.
我的表中有一些nvarchar列.
我收到的消息是:
数据类型为DT_NTEXT .... ANSI文件不支持...使用DT_TEXT代替,并使用数据转换组件将数据转换为DT_NTEXT.
我已经尝试将"列映射"部分中的源列映射从Unicode字符串DT_WSTR更改为只是字符串DT_STR,但它不起作用.
是否可以在不更改表的情况下导出到ANSI文件?有没有更简单的方法?我找不到将源列更改为常规varchar字符串的方法.
对于正在寻找替代解决方案的任何人;
这为我解决了以上问题。
如果无法更改源列,则必须使用数据转换组件来转换数据。
更改源列是最简单但并非总是一种选择。例如,我使用来返回一个定界列表,XML FOR PATH并且由于我是在存储过程中执行此操作,因此我要做的就是将列转换为varchar(max),错误消失了,SSIS很高兴。
select distinct
[WhatIfId],
cast(stuff
(
(
select
'; ' + plr.[Label]
from [dbo].[track_rate_override_reasons_instance] tor
join [dbo].[PickList_Loans_WhatIf_Rate_OverrideTypes] plt
on plt.[OverrideTypeId] = tor.[OverrideTypeId]
join [dbo].[PickList_Loans_WhatIf_Rate_OverrideReasons] plr
on plr.[ReasonId] = tor.[ReasonId]
FOR XML PATH ('')
)
, 1, 1, '') as varchar(max)) AS 'OverrideReasons'
from [dbo].[track_rate_override_reasons_instance]
Run Code Online (Sandbox Code Playgroud)
您是否可以将源包装在存储过程中,以便可以操纵转换?
| 归档时间: |
|
| 查看次数: |
16022 次 |
| 最近记录: |