gpt4 book ai didi

sql-server-2008 - SSIS 2008 Excel 源 - 加载字母数字列时出现问题

转载 作者:行者123 更新时间:2023-12-04 06:33:07 25 4
gpt4 key购买 nike

我正在使用 SSIS 2008加载 alphanumeric来自 Excel 的列.

我有一列以整数开头

1
2
...
999

然后更改为 AlphaNumeric
A1
A2
A999

当我尝试使用 Excel Data Source 加载时,excel总是会说是 integer因为它只能对文件的顶部进行采样。
(顺便说一句 - 我知道我可以重新排序文件,以便 alpha 位于顶部,但我宁愿不必这样做......)

不幸的是,您似乎无法改变主意。这意味着当它加载数据时,它会过滤掉 'A'A999 record 将更新 999 记录。这显然不好...
我试图在 advanced editing options 下将外部和输出列更改为字符串,但我收到错误并且在您将列设置回整数之前它不会运行。

有没有人有办法解决吗?

最佳答案

SSIS 使用 Jet访问 Excel文件。默认情况下,Jet 会扫描 first 8 rows的数据来确定每列的类型。

要修复它,您需要编辑 registry增加TypeGuessRows DWORD以下注册表项之一的值,以确定要在数据中扫描的行数:

这取决于什么版本的Windows和什么版本的excel...如下:

For 32-bit Windows

Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel

Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

For 64-bit Windows

Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\3.5\Engines\Excel

Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel

然后,指定 IMEX=1在连接字符串中,如下所示:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\abc.xls;
Extended Properties="EXCEL 8.0;HDR=YES;IMEX=1";

可以在以下位置以更详细的形式找到此信息: http://support.microsoft.com/kb/189897/

关于sql-server-2008 - SSIS 2008 Excel 源 - 加载字母数字列时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5138073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com