SSIS对Excel列类型判定

pbsh 2010-03-16 11:42:12
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没有其他处理办法?
...全文
180 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsh 2010-03-19
  • 打赏
  • 举报
回复
EXCEL格式的数据真是噩梦阿,各种问题。。。
pbsh 2010-03-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 liangck 的回复:]
引用 13 楼 pbsh 的回复:

引用 10 楼 liangck 的回复:
http://blog.csdn.net/liangCK/archive/2009/09/15/4555540.aspx

看这里,修改方法.

Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

如果是:ACE引擎……
[/Quote]

这个我是知道的。
我的问题是两个同结构文件同列类型验证不一致时怎么进行循环。
victorcai2006 2010-03-17
  • 打赏
  • 举报
回复
小F都来帮顶了,我就只有来观望了……
zhongxin799 2010-03-17
  • 打赏
  • 举报
回复
不懂,帮顶..........
liangCK 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 pbsh 的回复:]

引用 10 楼 liangck 的回复:
http://blog.csdn.net/liangCK/archive/2009/09/15/4555540.aspx

看这里,修改方法.

Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

如果是:ACE引擎.
HKEY_LOCAL_MACHIN……
[/Quote]

设定为0就是根据所有的行数据来判断类型.而不是默认的判断前8行数据来确定数据类型.
pbsh 2010-03-17
  • 打赏
  • 举报
回复
梁哥请仔细看下我的需求,指点下,谢谢哈
pbsh 2010-03-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liangck 的回复:]
http://blog.csdn.net/liangCK/archive/2009/09/15/4555540.aspx

看这里,修改方法.

Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Of……
[/Quote]

这个值设成0就是不判定吗?我只借设的65535,不可行.

貌似不是一个问题.
pbsh 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 dawugui 的回复:]
引用楼主 pbsh 的回复:
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没有其他处理办法?

导的时候在SSIS中强制列类型.

多个excel导成多个表,然后再合并数据.
[/Quote]

求教龟大侠,哪里设置强制列类型?

为了自动化处理,且无法预先判定实际长度~
蝈蝈王 2010-03-16
  • 打赏
  • 举报
回复
项一下。
dawugui 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 pbsh 的回复:]
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没有其他处理办法?
[/Quote]
导的时候在SSIS中强制列类型.

多个excel导成多个表,然后再合并数据.
东那个升 2010-03-16
  • 打赏
  • 举报
回复
帮你顶一下。。
ws_hgo 2010-03-16
  • 打赏
  • 举报
回复
友情帮顶.............
--小F-- 2010-03-16
  • 打赏
  • 举报
回复
这个真的只能学习了
nalnait 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 liangck 的回复:]
http://blog.csdn.net/liangCK/archive/2009/09/15/4555540.aspx

看这里,修改方法.

Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Of……
[/Quote]n
liangCK 2010-03-16
  • 打赏
  • 举报
回复
http://blog.csdn.net/liangCK/archive/2009/09/15/4555540.aspx

看这里,修改方法.

Jet引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

如果是:ACE引擎.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel



下的TypeGuessRows 项的值设置为0
you_tube 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 pbsh 的回复:]

引用 7 楼 you_tube 的回复:
引用 6 楼 pbsh 的回复:

引用 4 楼 dawugui 的回复:
引用楼主 pbsh 的回复:
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没……
[/Quote]
只能强制转换了
pbsh 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 you_tube 的回复:]
引用 6 楼 pbsh 的回复:

引用 4 楼 dawugui 的回复:
引用楼主 pbsh 的回复:
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没有其他处理办法?

导的时候在SSIS中强……
[/Quote]

与长度无关,与类型有关,N_Text和nvarchar(255)的区别
you_tube 2010-03-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pbsh 的回复:]

引用 4 楼 dawugui 的回复:
引用楼主 pbsh 的回复:
多个相同结构的Excel文件,出现相同列名但是列实际最大长度出现超过255字符和少于255字符两种情况,如何批量导入。
因为SSIS会首先对列进行类型判定,会出现两次循环类型不一致导致无法影射的情况。
排出在第二行添加表示列的做法,有没有其他处理办法?

导的时候在SSIS中强制列类型.

多个excel导成多……
[/Quote]
将导入的字段宽度改大点,导入DB后再转换成目标格式

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧