не могу записать в базу данных 4 Гб информации

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 25 май 2005, 09:42

Добрый день.
есть новые сведения.

1. сделал новую БД. Создал в ней таблицу по тому скрипту выше :D. Программу переделал так, что бы в таблицу данные не из файла записывались, а просто так (как kdv предложил). Сделал цикл из 5 млн итераций - все прошло хорошо - 5 млн записей в таблице, ошибок нет.

2. сделал другую БД, создал таблицу и стал старой программой из файла данные грузить. Только теперь после обработки очередного файла (из 2 млн строк) я выключал эту программу (возникло смутное подозрение). Обработал таким образом 3 файла (6 млн). Ошибок нет.

Значит что-то в самой программе не правильно. Может с выделением / освобождением памяти? Или я из программы с IB не правильно работаю?
Сейчас буду пробовать в старую БД (в которой много таблиц) таким же образом данные загрузить.

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 01 июн 2005, 09:54

здравствуйте.
Добрый он, этот день, или нет?
.
.
.
опять вернулся к этой БД. Прошлый опыт закончился крахом на 7-м млн-е :(
Не подскажет ли кто: если я сделаю несколько разных БД с одинаковой таблицей, можно ли потом как-нибудь средствами IB объединить информацию из них в одну БД?

hvlad
Разработчик Firebird
Сообщения: 1244
Зарегистрирован: 21 мар 2005, 10:48

Сообщение hvlad » 01 июн 2005, 12:38

Михалыч писал(а):Прошлый опыт закончился крахом на 7-м млн-е :(
Пробовал Ib7.5, FB ?
Михалыч писал(а):Не подскажет ли кто: если я сделаю несколько разных БД с одинаковой таблицей, можно ли потом как-нибудь средствами IB объединить информацию из них в одну БД?
Нет

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 01 июн 2005, 16:13

ib 7.5 пробовал. скачал отсюда. Триал версию.
но он у меня ошибки выдавать начал. я ему лицензию от 7.1 подсунул - заработал. в IBConsole мог работать, а вот программа выдает ошибку: unaviable database

с FB не пробовал...

все ошибки возникают в любом случае на разном количесте записей. Но в interbase.log всегда что-нибудь вроде:
Database: D:\PERS\PERSON1.GDB
database file appears corrupt ()
wrong page type
page 1407 is of wrong type (expected 7, found 69)
internal gds software consistency check (error during savepoint backout (290), file: exe.c line: 1792)


или вот еще что -
INET/inet_error: accept errno = 10093 client host = UNKNOWN connection name = dmitrii user name = UNKNOWN

или

INET/inet_error: accept errno = 10093 client host = UNKNOWN connection name = >] user name = UNKNOWN


что бы эти 2 последние штуки значали? где это и чего я не так нажал?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 01 июн 2005, 19:09

Код: Выделить всё

а вот программа выдает ошибку: unaviable database 
потому что использует локальный коннект.
но он у меня ошибки выдавать начал. я ему лицензию от 7.1 подсунул
http://forum.ibase.ru/phpBB2/viewtopic.php?t=845
INET/inet_error: accept errno = 10093
sock2.hlp

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 02 июн 2005, 09:36

потому что использует локальный коннект
а что нужно? у меня и программа, и БД, и IB - все лежит на одной машине.
IB 7.5 сможет так работать?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 02 июн 2005, 12:42

просто не надо на этой одной машине стартовать IB как сервис. Или, если уж стартуешь как сервис, пиши в строке коннекта имя сервера localhost (если, конечно, включено tcp или loopback).

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 02 июн 2005, 16:42

а можно "на пальцах" - это как?
я не понял о чем речь...

у меня:
- Win XP SP2
- БД, файлы, из которых данные беру, и программа лежат на одном логическом диске
- InterBase 7.5 проинсталлировал, как тут написано http://forum.ibase.ru/phpBB2/viewtopic.php?t=845 на этот же комп

а вот про
просто не надо на этой одной машине стартовать IB как сервис. Или, если уж стартуешь как сервис, пиши в строке коннекта имя сервера localhost (если, конечно, включено tcp или loopback).
не понимаю о чем речь...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 02 июн 2005, 17:27

что "как", ну что "как"? :( мне документацию цитировать, или что?
InterBase может стартовать
а) как сервис
б) как приложение

если стартует как сервис, то из-за ряда факторов локальный коннект, который производится через shared memory, работать не будет. 100% не будет если и приложение работает как сервис. Поэтому ...

читаем http://www.ibase.ru/ibfaq.htm#noconnect

может, мне попугаем работать устроиться?

Михалыч
Сообщения: 18
Зарегистрирован: 18 май 2005, 09:54

Сообщение Михалыч » 14 июл 2005, 12:36

После нескольких эксперементов могу точно сказать как лечится моя проблемма (только не знаю как же это так): IB обрабатывает этот большой файл если БД и txt-файл находятся на разных HDD (на разных логических дисках не прокатывает).
Вот. Всего-то и надо было подключить 2-й HDD ;)
Извеняюсь за хлопоты...

Ответить