我有一个使用.NET 3.5的VB应用程序,允许用户上传Excel文件。然后,应用程序从该文件中读取并将其内容插入到数据库中。
问题是我们的PRODUCTION环境中的读取似乎失败了。这是产生的错误:
ErrorMessage: System.Data.OleDb.OleDbException: Unspecified error
at System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
at System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.OleDb.OleDbConnection.Open()
at uploader.ReadExcel(String sFile) in E:\path_to_application\uploader.aspx.vb:line 85
这是uploader.aspx.vb中ReadExcel函数的第84和85行:
oConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sFile + ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";")
oConn.Open()
oConn.Open()仅在生产中失败,我本地计算机上完全相同的代码库按预期工作。
sFile
变量我可以在生产和本地环境之间寻找其他哪些差异?还有什么可能导致打开这个OleDB连接失败?
更新:解决方法似乎是在IIS中回收应用程序池。关于什么是重置的任何想法修复它?
答案 0 :(得分:0)
probackpacker会说如果你的应用程序是在64位环境下它不会工作, 因为没有64位OLEbd驱动器