Я пытаюсь сделать следующее:
- Пользователь заходит на веб-страницу, загружает файл XLS
- используйте ADO .NET, чтобы открыть файл XLS, используя соединение с механизмом JET для локально загруженного файла на веб-сервере
Все это прекрасно работает локально (мой компьютер как клиент и веб-сервер) - и фактически работает на веб-сервере клиента с удаленными клиентами, но не работает при попытке внутреннего тестирования с использованием удаленного клиента.
Я получаю ошибку:
TIME: [10/1/2008 11:15:28 AM]
SEVERITY: EXCEPTION
PROGRAM: Microsoft JET Database Engine
EXCEPTION: Unspecified error
STACK TRACE: 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()
Код, генерирующий ошибку:
OleDbConnection l_DbConnection;
OleDbDataAdapter l_DbCommand;
DataSet l_dataSet = new DataSet();
l_DbConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; data source=\"" + l_importFileName + "\";Extended Properties=Excel 8.0;");
l_DbCommand = new OleDbDataAdapter("select * from [Sheet1$]", l_DbConnection);
//try using provider to read file
try { l_DbConnection.Open(); }
Вызов «Open» вызывает исключение выше.
Сайт использует олицетворение, и все звонки осуществляются, когда пользователь вошел в систему на клиенте. Что я сделал до сих пор, чтобы попытаться заставить это работать:
Выполнил следующие действия http://support.microsoft.com/kb/251254/ и назначил разрешения для каталога переменных среды TMP / TEMP пользователю, которого я использую для тестирования (также назначены разрешения для ASPNET, а затем для «Все» в качестве общего слоя », это связанные с разрешениями? "test).
Гарантируется, что файл загружается, а сам файл XLS унаследовал разрешения каталога, которые предоставляют пользователю полный доступ к файлу. Я также дал разрешения dir «Все» на всякий случай - это тоже не помогло.
Мне не нужно было изменять какие-либо переменные среды, и поэтому я не перезапускался после внесения этих изменений - но мне не нужно было, чтобы разрешения для папок / файлов Windows вступили в силу.
На данный момент я в полной растерянности