单机上的32位和64位Microsoft.ACE.OLEDB.12.0

时间:2016-05-24 12:59:30

标签: sql-server dll

我试图将数据从Excel导入各种SQLServer实例,这些实例是各种32位和64位版本。这些机器有32位和64位版本的Office,在我自己的机器上,例如我得到:

public class ReportConstraintValidator implements ConstraintValidator<ValidReport, Report> {

    @Autowired
    DesignRepository designRepository;

    @Override
    public void initialize(ValidReport constraintAnnotation) {
    }

    @Override
    public boolean isValid(Report report, ConstraintValidatorContext context) {
        ...
        // here goes "foo error message"
        return false;
        ...
        // here goes "bar error message"
        return false;
    }
}

我正在寻找解决方案,我希望有人能指出我正确的方向。我相信关键组件是The 32-bit OLE DB provider "Microsoft.ACE.OLEDB.12.0" cannot be loaded in-process on a 64-bit SQL Server. 和/或安装的相关DLL。这些可以以可再发行的形式下载,因此:

1)是否可以在一台机器上安装这两个DLL,比如在不同的目录中安装?

2)如果我在.net中编写一个程序来进行导入,我可以将这两个DLL编译到应用程序中吗?我已经知道如何加载正确的一个,具体取决于主机应用程序的bitted-ness。

3)是否必须进行实际安装?如果我知道DLL所在的目录(假设它的DLL),我可以在运行时简单地调用AccessDatabaseEngine来设置它们,还是更复杂?

0 个答案:

没有答案