c# - OLEDBConnection.Open() 生成 'Unspecified error'

标签 c# debugging connection-string xls oledbconnection

我有一个将 Excel .xls 文件上传到文件系统的应用程序,使用对象实例上的 .open() 方法使用 oledbconnection 对象打开文件,然后将数据存储在数据库中。文件上传和写入文件系统工作正常,但尝试在我们的生产服务器上打开文件时出现错误。该应用程序在另外两台服务器(开发和测试服务器)上运行良好。

以下代码在 Exception.Message 中生成“未指定错误”。

引用:

        System.Data.OleDb.OleDbConnection x = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + location + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
        try
        {
            x.Open();
        }
        catch (Exception exp)
        {
            string errorEmailBody = " OpenExcelSpreadSheet() in Utilities.cs.  " + exp.Message;
            Utilities.SendErrorEmail(errorEmailBody);
        }

:结束引用

服务器的 c:\\temp 和 c:\Documents and Settings\\aspnet\local settings\temp 文件夹都给予\aspnet 完全控制权。

我认为存在某种权限问题,但似乎无法发现上述文件夹的权限与上传 Excel 文件的文件夹/目录之间的任何区别。相同的位置用于保存文件和打开它,这些方法在我的工作站和两个 Web 服务器上工作。 Windows 2000 SP4 服务器。

最佳答案

虽然权限问题可能更常见,但您也可能遇到来自 Windows 文件系统/Access Jet DB 引擎连接限制(我认为是 64/255)的错误。如果您破坏了 255 Access 读/写并发连接或每个进程 64(?) 连接限制,您可能会遇到完全相同的错误。至少我在一个应用程序中遇到过这种情况,在这个应用程序中,连接不断被创建并且从未正确关闭。一个简单的 Conn.close(); 投入使用,生活很美好。我想 Excel 可能有类似的问题。

关于c# - OLEDBConnection.Open() 生成 'Unspecified error',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/96150/

相关文章:

c#正则表达式问题

c# - C# 中的泛型构造函数

javascript - 有哪些调试 javascript 的好技巧?

javascript - JavaScript 中的调用堆栈大小

oracle - Oracle编码可以在连接字符串中设置吗?

c# - 使用 ROLEX 以编程方式从 OWL 文件生成装配体

c# - Java 注解 C# 等价物

jquery - 如何调试为什么此点击处理程序永远不会触发?

c# - MS SQL 数据库作为 C#、MVC Entity Framework 应用程序的服务连接字符串

iphone - 可达性 block 应用