几年前,我编写了一个 C#.NET 程序,该程序使用 Microsoft ACE 和 JET OLEDB 将 Excel 电子表格转换为 CSV 文件。最近我们升级到了 Windows Server 2008 x64 服务器。由于 JET 已被弃用,该方法不再有效。最初,Excel 2003 中的 .xls 文件使用 JET 处理,而 Excel 2007 中的 .xlsx 文件使用 ACE 处理。我更改了连接字符串以对两者都使用 ACE。
我们现在可以通过命令提示符成功运行程序。但是,当我们使用我们的自动化软件(显然运行类似于 Start->Run 方法的程序)时,我们会收到一条错误消息,指出未安装 Microsoft 数据访问组件。经过研究,它们似乎只能在 32 位系统上运行,并且不支持 Windows Server 2000 以上的任何系统。
有任何想法吗?我们安装了最新的 beta x64 ACE OLEDB 驱动程序。该程序手动运行良好。我也试过用 x86 的目标平台编译程序。我们还使用自动化软件使用的 windows 帐户成功地手动运行了程序。