使用Jet时OleDbDataAdapter数据类型不匹配
本文关键字:数据类型 不匹配 OleDbDataAdapter Jet 使用 | 更新日期: 2023-09-27 17:58:40
我正在使用OleDbDataAdapter
(确切地说是Microsoft.ACE.OLEDB.12.0)从Excel工作簿中检索数据。对于一个表,我使用的是类型化数据集,但对于另一个表我不能这样做,因为列的数量是未知的(Excel模板可能会生成额外的列)。
问题是,如果有人在一列中输入了太多数值,"JET"似乎会认为这是一个数值列,并且不再加载文本值。我知道你可以更改模板并为该列设置特定的数据类型,但模板已经广泛使用,所以我宁愿在导入时解决它。
现在,我尝试的是首先计算使用的列的数量,准备一个具有已定义的columns集合的新DataTable,并将其DataType属性设置为typeof(string)
。遗憾的是,JET似乎并没有考虑到这一点,仍然选择了自己的方式。我猜,即使我可以在这里使用强类型数据集,也无济于事。。。
有人知道如何告诉JET如何导入数据,这样我就不必面对交付新模板版本的负担吗?
请*请*:不要附带Excel自动化解决方案。。。
如果您有权访问注册表集TypeGuessRows=0和/或ImportMixedTypes=Text。请参阅此处了解更多信息INITIALIZATION SETTINGS