使用ADO将excel表内容加载到mssql表中的长度问题

使用ado连接excel表,excel表字段内容超过255时,会截断处理,而且参数设置和字段数据类型设置均不起作用,而且规律很乱:

ADOConExcel.ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;' +

'Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1;MaxScanRows=0";Persist Security Info=False;Data Source=' + filename + ';';

IMEX=1;MaxScanRows=0;TypeGuessRows=0,这三个参数设置不起作用;有时候你将超长字段提到前几行就可以读出,大概是8行以前,AI回答是因为加载时Microsoft.ACE.OLEDB.12.0驱动只扫描前8行。

解决的办法是用delphi自带的OLE控件、使用XLSReadWriteII、使用TMS等。

或者:将注册表键 TypeGuessRows​ 设为0。路径示例:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel\TypeGuessRows(具体版本号随 Office 而变,win11+D10.4测试有效)。

相关推荐
zuYM4g7Dp2 小时前
NoSql数据库设计心得
数据库·nosql
睡不醒男孩0308233 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love4 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob4 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q5 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发5 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹5 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
Albert Edison5 小时前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
云计算磊哥@5 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
小二·6 小时前
Redis 内存溢出(OOM)排查与恢复实战
数据库·redis·bootstrap