IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
Михалыч
- Сообщения: 18
- Зарегистрирован: 18 май 2005, 09:54
Сообщение
Михалыч » 25 май 2005, 09:42
Добрый день.
есть новые сведения.
1. сделал новую БД. Создал в ней таблицу по тому скрипту выше

. Программу переделал так, что бы в таблицу данные не из файла записывались, а просто так (как
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 последние штуки значали? где это и чего я не так нажал?
-
Михалыч
- Сообщения: 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

Извеняюсь за хлопоты...