Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950

Disk or network error при попытке обратиться к файлу

29.11.2019, 12:22. Показов 1008. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно разобрать .dbf файл.
Я сделал это таким образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
OleDbConnection conn;
                OleDbDataAdapter oledbAdapter;
                OleDbCommand cmd;
                string connetionString = null;
                connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + folderName + "; Extended Properties=dBASE IV;";
                conn = new OleDbConnection(connetionString);
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {
                }
                string Sql = "select * from " + fileName;
                oledbAdapter = new OleDbDataAdapter(Sql, conn);
                DataTable dt1 = new DataTable();
                oledbAdapter.Fill(dt1);
Локально, в отдельном консольном проекте это всё работает. Но когда я добавил это в метод сервиса, который крутится на IIS, всё ломается. Что нужно сделать, чтобы это исправить? С odbc такая же проблема.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2019, 12:22
Ответы с готовыми решениями:

Странная ошибка: “Disk or network error”
Я поставил себе новый винч, поставил на него систему (Win2000), VB. Переписал VB-проект со всеми формами. Логический диск поменялся с E на...

Ошибка Microsoft OLE DB: [Microsoft][ODBC Microsoft Access Driver] Disk or network error. /test.asp, line 3 На строке: conn.Open 'DSN=d'
Помогите пожалуйста! Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) Disk or network error. /test.asp, line 3...

Ошибка при попытке обратиться к БД
$c_e = mysql_num_rows(mysql_query("SELECT id_user FROM users where email='".$_POST ."'")); {if ($c_e>0) {$errm .= "Данный номер уже...

10
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,124
29.11.2019, 12:25
DenKG, не надо использовать Access из сервисов всяких! Это "домашняя" СУБД, а не серверная.

А ошибка из-за того, что IIS не имеет доступа к файлу.
0
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
29.11.2019, 12:27  [ТС]
Usaga, я не использую Access. Я хочу вытащить данные из dbf и перетащить их в SQL Server

Добавлено через 16 секунд
Цитата Сообщение от Usaga Посмотреть сообщение
А ошибка из-за того, что IIS не имеет доступа к файлу.
А как ему этот доступ организовать?
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,124
29.11.2019, 12:28
Цитата Сообщение от DenKG Посмотреть сообщение
я не использую Access. Я хочу вытащить данные из dbf и перетащить их в SQL Server
Так сделайте это отдельным консольным приложением.

Цитата Сообщение от DenKG Посмотреть сообщение
А как ему этот доступ организовать?
В настройках безопасности файла выдать права на чтение и запись пользователю из под которого работает пул в IIS, в котором крутится ваш сервис.
0
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
29.11.2019, 12:30  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
В настройках безопасности файла выдать права на чтение и запись пользователю из под которого работает пул в IIS, в котором крутится ваш сервис.
А как-то иначе это нельзя сделать? Просто файлы постоянно новые.
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
29.11.2019, 12:46
Цитата Сообщение от DenKG Посмотреть сообщение
А как-то иначе это нельзя сделать? Просто файлы постоянно новые.
.. если у вас есть консольное приложение, то запускайте его из планировщика Windows из-под нужной учетки с повторением задания через нужный интервал .. а вообще говоря, с подобными задачами прекрасно справляются скрипты на VBS или PowerShell ...и редактировать можно хоть из обычного блокнота (хотя и VS Code не помешает) и ничего билдить/компилировать не надо ...
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,124
29.11.2019, 12:53
Цитата Сообщение от DenKG Посмотреть сообщение
А как-то иначе это нельзя сделать? Просто файлы постоянно новые.
На папку всю разрешение.
0
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
29.11.2019, 13:21  [ТС]
Usaga, вот у меня есть пул Offline, у которого Identity ApplicationPoolIdentity. Я для своей папки через Security добавил пользователя IIS AppPool\Offline и дал ему полный контроль. Но ошибка осталась та же.
Проще говоря, делал по этой инструкции:
  1. Go to Properties - Sharing - Advanced Sharing - Permissions, and tick 'Share this folder'
  2. In the same dialog box, you will find a button 'Permissions'. Click it.
  3. A new dialog box will open. Click 'Add'.
  4. A new dialog box 'Select Users or Groups' will open. Under 'From this location' make sure the name is the same as your local host computer. Then, under 'Enter the object names', type 'IIS AppPool\MyPool' and click 'Check Names' and then 'Ok'
  5. Give full sharing permissions for 'MyPool' user. Apply it and close the folder properties
  6. Open folder properties again. This time, go to Security - Advanced - Permission, and click Add. There will be an option 'Select a Principal' at the top, or some other option to choose a user. Click it.
  7. The 'Select Users or Groups' dialog box will open again. Repeat step 4.
  8. Give all or as many permissions you need to the 'MyPool' user.
  9. Check 'Replace all child object permissions..." and Apply and close.
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,124
29.11.2019, 14:03
DenKG, а пути к файлам в приложении верные вообще? Какие-то подробности в исключении имеются? Или во вложенном (если есть)?
0
11 / 11 / 7
Регистрация: 23.12.2015
Сообщений: 950
29.11.2019, 15:51  [ТС]
Usaga, путь верный. InnerException пуст. Даже нечего скопировать сюда

Добавлено через 4 минуты
Usaga, если неверный путь, то мне прям пишет, что путь неверный.

Добавлено через 27 минут
Usaga, может, есть какой-то иной путь, чтобы извлечь данные из .dbf?

Добавлено через 1 час 13 минут
Usaga,
C#
1
2
3
4
using (var stream = new FileStream(Path.Combine(folderName, fileName), FileMode.Open, FileAccess.ReadWrite))
                {
                    Console.WriteLine("OK");
                }
Таким способом у меня получается этот файл открыть. Но почему не могу в DataTable записать?
0
Эксперт .NET
 Аватар для Usaga
14127 / 9347 / 1350
Регистрация: 21.01.2016
Сообщений: 35,124
02.12.2019, 07:18
А к файлу параллельно другие процессы не обращаются?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.12.2019, 07:18
Помогаю со студенческими работами здесь

HDD Hitachi 80 Gb при попытке отформатировать или установить винду, пишет: Disk Boot failure
Люди, у меня такая проблема, HDD Hitachi 80 Gb при попытке отформатировать или установить винду, пишет: Disk Boot failure, insert system...

Как убрать ошибку - ERROR: No boot disk has been detected or the disk has failed
Всем доброго дня и с наступающим новым годом! Подскажите пожалуйста как убрать ошибку ERROR: No boot disk has been detected or the...

non- system disk or disk error replace and strike any key when ready
Всем добрый день. А можете еще подсказать. Вылетает ошибка, но при выключении, а потом проделывании некоторых манипуляций (Вытаскивания...

Non-sistem disk or disk error replact and strike any key when ready
День добрый! 3-х летний сын умудрился влезть в BIOS ( ноутбук HP compaq 6720. версия BIOS CE v 1.2.44 beta-1) после включения пишет :...

HP ProBook 4515s Non-Sysyem disk or disk error replace and strike any key when ready
Здравствуйте у меня возникла проблема с ноутбуком точнее у меня ноут вырубился а когда я его стал включать выскачило: Non-Sysyem disk...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru