之前写的程序是32位的,编译成64位写excel就崩溃了,在不同的机器上两种报错:①0x00007FFCD0393E49 (KernelBase.dll)处有未经处理的异常: 0xC000041D: 用户回调期间遇到未经处理的异常。②未找到提供程序。
网上的帖子都是说msado15.dll的版本不对,都是瞎扯,因为能通过oledb访问oracle,所以msado是没有问题的。后来不得不google,stackflow上有人问,原因是jet引擎在64位上不能工作了,必须要ace引擎,安装office2010的AccessDatabaseEngine_x64(微软官网下载)。另外连接字符串里的引擎要换为:Provider=Microsoft.ACE.OLEDB.12.0