Microsoft.ACE.OLEDB.12.0 当 select 来自 Excel 时出现文本截断错误
Microsoft.ACE.OLEDB.12.0 text truncation errors when select from Excel
我用谷歌搜索了整个宇宙,但没有成功。
当我 运行 查询时,出现以下错误:
OLE DB provider 'Microsoft.ACE.OLEDB.12.0' for linked server '(null)' returned truncated data for column '[Microsoft.ACE.OLEDB.12.0].Short Description'. The actual data length is 540 and truncated data length is 510.
实际数据长度从略高于 510 到超过 1700 不等。
我已将注册表中的 TypeGuessRow 设置更改为“0”,我已按提到的列长度对 excel 行进行了排序,但仍然很糟糕。
这是我的查询:
insert into SRC_REMEDY_RAW
select
*
from openrowset ('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\ReleaseTeam_db\data\data_src.xlsx;HDR=YES;IMEX=1',
'select * from [Murex - SW Business Application$]')
where [Ticket ID] is not null and [Problem Owner] is not null
order by len(cast([Solution Description] as nvarchar(MAX))) desc, len(cast([Short Description] as nvarchar(MAX))) desc;
我正在使用 SQL Server 2014 Express。
经过几个月的谷歌搜索和阅读,我终于找到了解决这个问题的方法。事实证明,将 TypeGuessRow 默认值更改为零是可行的,但我确实编辑了错误的注册表项。
Excel 12.0的正确键值如下:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
更改此条目后,提供程序可以正常工作,不会出现截断错误。
我用谷歌搜索了整个宇宙,但没有成功。 当我 运行 查询时,出现以下错误:
OLE DB provider 'Microsoft.ACE.OLEDB.12.0' for linked server '(null)' returned truncated data for column '[Microsoft.ACE.OLEDB.12.0].Short Description'. The actual data length is 540 and truncated data length is 510.
实际数据长度从略高于 510 到超过 1700 不等。 我已将注册表中的 TypeGuessRow 设置更改为“0”,我已按提到的列长度对 excel 行进行了排序,但仍然很糟糕。 这是我的查询:
insert into SRC_REMEDY_RAW
select
*
from openrowset ('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\ReleaseTeam_db\data\data_src.xlsx;HDR=YES;IMEX=1',
'select * from [Murex - SW Business Application$]')
where [Ticket ID] is not null and [Problem Owner] is not null
order by len(cast([Solution Description] as nvarchar(MAX))) desc, len(cast([Short Description] as nvarchar(MAX))) desc;
我正在使用 SQL Server 2014 Express。
经过几个月的谷歌搜索和阅读,我终于找到了解决这个问题的方法。事实证明,将 TypeGuessRow 默认值更改为零是可行的,但我确实编辑了错误的注册表项。 Excel 12.0的正确键值如下:
HKEY_LOCAL_MACHINE\Software\Microsoft\Office.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows
更改此条目后,提供程序可以正常工作,不会出现截断错误。