好的,我在这里的第一个问题,至少对我来说,这是一个令人费解的问题。
导入具有 1,048,576 行的 .xlsx 文件。我目视确认了记录的数量。当我尝试使用 SSIS 导入它并在 SSMS 中使用 openrowset 时,它只导入/读取 999,999 行。我正在使用 ACE.OLEDB.12.0 驱动程序并尝试以 32 位和 64 位运行 SSIS 包,但到目前为止没有区别。SQL Server 是 2012。Excel 文件是从 SAP BW 导出的,所以我无法真正确认版本,但它是 .xlsx 格式。
下面是我在 SSMS 中使用的 openrowset 命令(SSIS 包更难描述):
SELECT COUNT(*) as [Rows]
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=\\....\...\SALES_DATA.xlsx; HDR=yes; IMEX=1','SELECT * FROM [CO_SALES$]')
当我在 SSMS 中执行上述命令时,我得到 999,999,我预计 1,048,575(不包括标题)。任何人对为什么会发生这种情况有任何见解吗?我真的没有看到任何关于它们可能失败的行的任何明显内容......我知道与 CSV 相比,Excel 文件可能会很痛苦,并会导致很多奇怪的问题,但实际上有没有人从一个导入超过 999,999 条记录单个 Excel 文件(工作表)是否成功?
TIA,布赖恩