Страница 1 из 1

Ошибка I/O error for file "C:\WINDOWS\TEMP\fb_sort_xxxx

Добавлено: 30 авг 2007, 12:42
kmi
Друзья, очень нужна помощь!
Использую в программе связь с базой Firebird 1.5 через ODBC-драйвер от Phoenix.
Программа работает некоторое достаточно продолжительное время, но затем возникает ошибка типа
"I/O error for file "C:\WINDOWS\TEMP\fb_sort_xxxxxx". Error while trying to open file. Недопустимые данные."
И после этого программа перестает получать данные из базы.
Такая же программа (одна и та же сборка) на другом компьютере, работающая параллельно, никаких ошибок не выдает, хотя работает с теми же данными.
Отчего может быть такая напасть и как с ней бороться?

Добавлено: 30 авг 2007, 12:52
WildSery
Место на диске кончилось.
Или старая файловая система не позволяет раздуть размер.

Добавлено: 30 авг 2007, 12:56
kmi
WildSery писал(а):Место на диске кончилось.
Или старая файловая система не позволяет раздуть размер.
А с правами пользователя это может быть связано?

Добавлено: 30 авг 2007, 13:15
WildSery
В каталог C:\WINDOWS\TEMP\ ? Наверное. Я с виндусом редко.
FB у тебя как сервис или как приложение запускается? И от какого юзера, само собой.

Добавлено: 30 авг 2007, 14:08
kmi
Вход идет с правами администратора. Свободное место на диске - 30 Гб. NTFS. FB работает на выделенном сервере как сервис. Подключение к нему идет по локалке посредством TCP/IP.

Добавлено: 30 авг 2007, 14:30
kmi
А может помочь параметр TempDirectories на сервере?

Добавлено: 30 авг 2007, 15:10
WildSery
kmi писал(а):А может помочь параметр TempDirectories на сервере?
Вряд ли.
Программа эта самая, чего за запрос такой отправляет на сервер, что сортировочный файл создаётся, не смотрел?
Отправляет ли такой запрос тот, другой комп, и создаётся ли файл сортировки в этом случае? С теми же параметрами запрос?

Добавлено: 30 авг 2007, 15:13
kmi
Запросы Select. Все машины отправляют запросы одинаковые. Соответственно, файлы сортировки создаются в любом случае.

Добавлено: 30 авг 2007, 15:37
Dimitry Sibiryakov
kmi писал(а):Вход идет с правами администратора.
Тебя не это спрашивают. Тебя спрашивают под каким аккаунтом запущен сервер FB.

Собственно, при кривой БД и запросе сожрать 30ГБ под сортировку - нет ничего невозможного.

Re: Ошибка I/O error for file "C:\WINDOWS\TEMP\fb_sort_

Добавлено: 30 авг 2007, 15:52
hvlad
kmi писал(а):Программа работает некоторое достаточно продолжительное время, но затем возникает ошибка типа
"I/O error for file "C:\WINDOWS\TEMP\fb_sort_xxxxxx". Error while trying to open file. Недопустимые данные."
Не знаю такой ошибки. Нужен точный текст

Re: Ошибка I/O error for file "C:\WINDOWS\TEMP\fb_sort_

Добавлено: 30 авг 2007, 16:25
kmi
hvlad писал(а):Не знаю такой ошибки. Нужен точный текст
Это точный текст. Вместо xxxxxx указывается некоторая последовательность символов, делающая имя файла уникальной.

Добавлено: 30 авг 2007, 16:28
kmi
Доступ к базе под SYSDBA

Добавлено: 30 авг 2007, 18:26
stix-s
kmi писал(а):Доступ к базе под SYSDBA
диск на проблемной машине живой? или это только кажется?
что ты в конфиге в параметре TempDirectories указал?

Добавлено: 30 авг 2007, 18:31
kmi
Диск живой. Иначе бы вообще все умерло.
Конфигу пока не менял. Т.е. используется значение по умолчанию. Отсюда и Windows\Temp

Re: Ошибка I/O error for file "C:\WINDOWS\TEMP\fb_sort_

Добавлено: 30 авг 2007, 18:52
WildSery
kmi писал(а):Это точный текст. Вместо xxxxxx указывается некоторая последовательность символов, делающая имя файла уникальной.
Скопируй строку из файла firebird.log, где эта ошибка написана.

Добавлено: 31 авг 2007, 19:35
kmi
В лог-файле ошибка отсутствует. Фиксируются только данные о разрывах и восстановлении подключения.

Установка параметра TempDirectories = e:\temp; f:\temp в файле конфигурации привела к тому, что ошибка с файлом сортировки исчезла, но возникла другая проблема. Некоторое количество клиентов подключается замечательно. Но затем подключения начинают отвергаться. Даже попытка подключения к расшаренной папке на сервере приводит к ошибке "Превышено максимальное количество подключений". В результате из 40 клиентов работает только 15. Впрочем, эти 15 работают корректно.

Если я комментирую параметр TempDirectories в файле конфигурации - все клиенты подключаются, но вновь возникают проблемы с сортировкой.

Добавлено: 02 сен 2007, 09:52
stix-s
kmi писал(а): ..........Но затем подключения начинают отвергаться. Даже попытка подключения к расшаренной папке на сервере приводит.......
А шара здесь каким боком и вообще нафиг?

Добавлено: 03 сен 2007, 23:02
kmi
Шара тут привалилась хитро. Инженеры, ставившие систему, создали и расшарили папку, в которую слили дистрибутив, затем установили сервер Firebird, поместили базу и в конечном итоге загнали туда новую temp-папку...

Добавлено: 18 сен 2007, 13:33
kmi
Проблема решилась. Дело в правах пользователей в локалке. Сеть была организована так, что большинство машин были в одной подсети в домене, а остальные, включая сервер, - в другой подсети и в домен не входили.
При входе со второй подсети проблем не наблюдалось. А вот при входе из домена на сервер, не включенный в домен, начинались траблы. Установка Firebird в C:\Program files приводила к появлению на сервере фантастического сообщения об отсутствии файла aliases.conf, хотя он явно присутствовал. Сообщение появлялось при любой попытке подключения к серверу из домена.
Решений может быть два. Первое - ввод сервера в домен. А второе - конфигурирование Firebird таким образом, чтобы все файлы, с которыми он работает, находились вне системных папок. В частности, сам Firebird следует ставить в отдельный каталог и прописывать в firebird.conf путь к отдельному каталогу временных файлов.

Добавлено: 18 сен 2007, 17:43
kdv
коннектиться надо по tcp, а не по netbeui.
строку коннекта приведи?