OLEDB中IMEX的默认值是多少?

Bao*_*Bao 4 oledb excel connection-string

string strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filename + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes;IMEX=1\";";
Run Code Online (Sandbox Code Playgroud)

我在谷歌上搜索,但没有得到任何结果.我认为默认值是2,但我不确定.

有人可以帮帮我吗?谢谢.

Mis*_*Tom 9

虽然我没有找到有关默认的信息,但@Bao的评论有助于解释IMEX设置.根据Microsoft Knowlege Base Article 194124,IMEX参数代表IM端口EX端口模式.这是文章的引用:

IMEX的可能设置是:

 0 is Export mode
 1 is Import mode
 2 is Linked mode (full update capabilities)
Run Code Online (Sandbox Code Playgroud)

在简单的英语中,您可以使用IMEX = 0表示Writes,IMEX = 1表示只读,IMEX = 2表示修改/更新(读取,更改,保存更改).

我注意到此问题已标记为Excel,但Microsoft.ACE.OLEDB提供程序允许连接到Access数据库引擎支持的许多类型的数据源,包括Access(*.accdb),Excel(*.xlsx),SharePoint列表, IMEX参数将以类似的方式影响这些其他类型的数据源.


2017年8月更新.对另一文档ADO.NET连接字符串语法(docs.microsoft.com)中"连接到Excel"标题下提到的IMEX 扩展属性的其他注释:

在[示例]连接字符串中," 扩展属性"关键字设置特定于Excel的属性."HDR =是;" 表示第一行包含列名,而不是数据,"IMEX = 1;" 告诉驱动程序始终将"混合"数据列作为文本读取.

我相信以前的知识库文章仍然适用,IMEX设置更常用作导出/导入/链接到数据源连接字符串中的其他非Excel数据源.另请注意,KB文章指出可以通过注册表更改"ImportMixedTypes"设置 - 这使我相信第二篇文章应该被忽略,以支持KB来解释IMEX设置.针对外部数据源的 Access连接引擎(ACE)Excel驱动程序@Windows注册表设置记录了相关的注册表设置- 初始化Microsoft Excel驱动程序.


Jim*_*Jim 3

根据下面的文章,IMEX 值 0 和 2 执行相同的操作;他们使用 ImportMixedTypes=MajorityType。如果您未在扩展属性中指定 IMEX=1,则这是默认值。

因此,默认的 IMEX 行为是 MajorityType,并且可以通过在连接字符串中使用 IMEX=1 以及注册表设置 ImportMixedTypes=Text 来覆盖它。

http://www.instantpages.ltd.uk/ADODB_WP.htm

  • 请查看此链接:http://support.microsoft.com/kb/194124/EN-US 请注意,0 是导出模式,2 是链接模式(完整更新功能)。如果我不在扩展属性中添加 IMEX,应该有一个默认模式。我在微软官方网站上没有找到结果,很奇怪。 (2认同)