我对 ADOX Interop 有一个非常奇怪的问题。
我有这个代码:
try
{
if (File.Exists(path))
File.Delete(path);
var cat = new CatalogClass();
cat.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source = d:\\Test.mdb; Jet OLEDB:Engine Type=5");
Marshal.ReleaseComObject(cat);
cat = null;
GC.Collect();
}
catch (FileNotFoundException e)
{
throw new FileNotFoundException("El archivo no se encuentra", e);
}
catch (COMException e)
{
throw new COMException(connStr + e.Message);
}
catch (Exception e)
{
throw new Exception(connStr, e);
}
代码在 cat.Create() 行中失败。真正奇怪的是,在我的本地开发人员机器上它工作正常,但在生产服务器中却没有......这不是写权限问题,因为我试图在问题行之前生成一个随机文件并且工作完美。COMException 消息只是“未指定错误”HResult:-2147467259
服务器操作系统是 Windows 2008 32 位。我认为是服务器配置问题,但你能给我一些启示吗?我不知道我还能做什么...