背景:程序升级64位后,运行报错:创建空文档失败。
解决思路:
1、出现《创建空文档失败》报错,基本问题可以锁定到某个类的构造函数没有正常返回造成的。具体哪个类,就要看创建了哪些类的对象,在这些类中去找。

2、在类的构造函数中找到崩溃的位置,原来是打开数据库失败,(提醒:对数据库操作时最好要加try…catch,不解释原因了)。

分析:
1、根据报错,首先想到的就是缺少dll,网上查了,dll是共用的。排除这个原因。
2、网上查了资料,貌似微软建议我们用32位的而不是64位的,所以默认只有32位的。

3、进入数据源管理程序对比,发现64位的根本就没有access数据源的驱动。网上下一个64位驱动,安装。驱动连接地址
4、安装完成后,可以看到已经多出来了驱动程序。

5、再次运行64位程序,依旧会报一样的错误,在这里有点蒙了,驱动已经装好了,为啥还不行?仔细看报错:未发现数据源名称并且未指定默认驱动程序。

6、既然驱动装好了,那就看看数据源名称,发现这个数据源平台还是32位,那就增加个64位平台的数据源试试,结果问题解决了。

碰到这类问题,稍不注意就会把自己搞崩溃,所以记录下供大家参考,希望对你有帮助。
本文讲述了作者在将程序升级为64位后遇到的创建空文档错误,通过排查发现是数据库操作问题。通过安装64位Access驱动、设置正确数据源,最终解决了问题。
595

被折叠的 条评论
为什么被折叠?



