我试图将数据从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
来设置它们,还是更复杂?