在我的.Net应用程序中,我使用Microsoft.ACE.OLEDB.12.0提供程序从Access文件中读取数据.
一切都工作正常,直到我面临从包含大号列类型的文件中读取数据的需要. (https://support.office.com/en-us/article/Using-the-Large-Number-data-type-5b623f6e-641d-4e97-8bdf-b77bae076f70)我安装了最新的数据库引擎(https://www.microsoft.com/en-us/download/details.aspx?id=54920,32位版本)并按照说明操作.仍然,我打开与该文件的连接时会出现下一个错误:
System.Data.OleDb.OleDbException:’您尝试打开的数据库需要较新版本的Microsoft Access.
OLEDB提供商是否支持大号?
注意:我也尝试使用Microsoft.ACE.OLEDB.16.0提供程序(指令告诉使用12.0)并得到相同的结果.
注意2:我尝试使用最新版本的Database Engine 2010.同样的问题.
解决方法:
更新:我从MSFT CSG得到了答案,你可以在这里查看:https://social.msdn.microsoft.com/Forums/office/en-US/c314519b-d972-43ac-9a04-29cae19413b8/can-i-access-large-number-data-type-in-access-2016-file-using-microsoftaceoledb-provider?forum=accessdev
TLDR:截至2017年8月8日,组件(aceoledb.dll)不支持Large Number数据类型.