1

我安装了 32 位 MS Office 2013,以及 32 位 Office 可再发行组件和一个小型 c# 控制台应用程序集以编译为 32 位。

以下代码会导致OleDbException“找不到可安装的 ISAM”。

public void GetData()
{
    var fileName = @"c:\temp\Sales DataBase_Test.accdb";
    var connection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Soure='" + fileName + "'";
    using (var conn = new OleDbConnection(connection))
    {
        conn.Open();
        conn.Close();
    }
}

我不想从十几个模糊的答案中随机应用解决方案,而是想知道:

  • 这实际上意味着什么?
  • 什么是可安装的 ISAM?
  • 我如何获得它们的列表?
  • 我怎么知道哪些可用?
  • 最后,我如何知道在任何给定机器上都有哪些 Providers 可用?
  • 有没有办法枚举这些东西并正确排除故障?
4

1 回答 1

0

我的问题原来是老化的眼睛和肥胖的手指:“数据源”被拼错为“数据源”。

这不能回答我的问题,但可以帮助其他人。我通过链接 Excel 中的数据,然后复制和粘贴,然后删除我不需要的内容,生成了一个有效的连接字符串。

  1. 从访问中获取数据(选择任何表)。 在此处输入图像描述

  2. 接下来打开连接。

    在此处输入图像描述

  3. 然后,您可以查看连接的属性并复制一个工作连接字符串,您可以将其粘贴到您的代码中并进行编辑。

    在此处输入图像描述

于 2015-07-08T13:48:16.920 回答