我目前正在工作
我必须导入许多excel文件...但是这个血腥的提供程序无法以一种非常奇怪的方式来检测rigth类型,这意味着==>
我知道rowtypeguess会扫描前八行以确定类型(但是我无法更改寄存器来更改所有服务器中的该属性)。
最大的问题是ssis将某些float列检测为dt-wstr,因为它们的第一个eigth为null,但对于其他浮点列,他检测到了正确的类型:float!
我不明白为什么会有不变的行为!!!
我什至试图将excel列强制为数字,但SSIS仍希望它们为DT_WSTR。
所以我被迫做一个tmp表,然后像这样转换所有需要浮动的列:
case
when isnull([cola],'') <> ''
then cast(replace([cola],',','.') as float)
end
问题是我有无数列,因此必须频繁进行此集成操作:因此,这意味着,如果下次这些列突然被识别为浮点数,而其他列不再被识别为浮点数 我必须在每次集成时都改变每件事。
从长远来看,我该如何管理?你有什么解释吗?