2015-12-03 83 views
0

我试图打开一个ADODB连接到Access 2010数据库:“找不到可安装ISAM”,并称“IMEX = 1”到连接字符串后

public void openConnection() 
    { 
     conn = new ADODB.Connection(); 
     string dbPath = @"T:\somePath\sigilDB.accdb"; 

     string connString=string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"IMEX=1\"",dbPath); 
     conn.Open(connString); 
    } 

conn.Open()电话给我的错误:

Could not find installable ISAM 

这开始时,我添加了Extended Properties=\"IMEX=1\"到连接字符串,使其在列混合数据类型将被读为字符串。有没有不同的方式,我需要将此选项添加到连接字符串?

+0

不确定是否需要它,但是从最后缺少尾部';'。 – DavidG

+1

我只见过与Excel连接有关的'IMEX'属性。从Access数据库读取时,对于给定列没有“混合数据类型”,因为表的列定义控制返回的数据的“类型”。 –

+0

@GordThompson,我认为这是一个足够的解释来发布答案。 – sigil

回答

2

据我所知,IMEX根本不是ACE提供者的扩展属性之一。

在这种情况下,没有必要;到目前为止,我的测试证实,使用ADODB从Access进行查询时,正确处理混合数据类型。

编辑:刚刚发现戈登汤普森的评论表明相同。