FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Ответить
vsimashko
Сообщения: 20
Зарегистрирован: 03 мар 2010, 10:33

FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение vsimashko » 16 июл 2011, 23:47

Здравствуйте !

Долго (5 минут) думал, в какой форум написать, решил начать с этого.

FireBird 2.1 (релиз Firebird-2.1.4.18393_0_Win32), БД локальная, ОС Win XP Pro SP3 + текущие обновления на ОС, антивирус Avira Free-шная также с последними обновлениями. БД создавал и наполнял исключительно в версии IBExpert-а 2011.07.03. По сравнению с "умолчаниями" : кодовая страница WIN1251, Диалект 1, размер страницы 4096.

Всё работало отлично. В один "прекрасный" момент при создании Foreign Key возникла ошибка (моя вина, в подчинённой таблице не было всех значений ключа). Создавал не запросом, а в визарде IBExpert-а. После ошибки и нажатия «Откатить» IBExpert начал выдавать много скринов с ошибками, я штук 10 «погасил», потом надоело - решил снять его через диспетчер.

После этого "Эксперт" отказывается коннектиться к базе ВООБЩЕ. Возникают ТРИ скрина с ошибками (кого заинтересует - могу прислать), суть в том, что при выполнении каких-то IBExpert-овских запросов сначала "Access Violation in module MSVCR80.DLL", затем "TPB Constant (0) is unknown", и - "Эксперт" виснет намертво, снять можно только диспетчером.

Validation, Backup/Restore - выполнил без проблем тем же "Экспертом", ошибок нет, всё ОК - а к БД доступиться не могу, ни с SYSDBA, ни с владельцем базы данных. На том же компе создал новую БД - создалась (!!!), тем же IBExpert-ом, и тут же он ("Эксперт") - тоже не хочет к ней коннектиться :shock: !!! Для очистки совести скачал "Эксперт" 2011.07.15.2 - та же проблема. Написал на Делфи простенькую программку - просто для КОННЕКТА с БД – коннектится (через BDE), всё ОК (правда, к таблицам не обращался пока).

Сбегал к товарищу на работу (у него поднят FireBird 2.1, но правда не локальный, а удалённый сервер Win-2003). Подставил ему мой файл БД - всё ОК, коннектится "Эксперт" к моей БД ...

Написал разработчику IBExpert-а, подробно, все принтскрины и запросы, даже базу послал - он ответил что IBExpert в порядке, сервер FireBird плохо работает.

Начал я чинить сервер : ни один "танец с бубном" не помог: переинсталляция FireBird, переинсталляция MS Visual Studio 2005 Redistributable (библиотека msvcr80.dll оттуда), доинсталляция Visual Studio 2005 Redistributable SP1, даже закидывание библиотеки msvcr80.dll в папку FireBird\Bin (вычитал в одном форуме такой совет)... Также проверил CureIT-ом систему - чисто (ну мало ли, вдруг Avira пропустила чего)... Похоже, все бинарники FireBird и IBExpert-а, и библиотеки Windows в норме... А- не коннектится !!! Вот так создал я вторичный ключ...


Сообщение получилось длинное. Кто дочитал до конца - уже БОЛЬШОЕ СПАСИБО :D ! А кто ещё и подскажет что сломалось и как починить - тому буду очень признатален !!!

А если серьёзно - не знаю, куда крестьянину податься ? В полную переинсталляцию Винды ОЧЕНЬ нежелательно... Другого компа для работы нет, а время - поджимает... :(

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

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение hvlad » 17 июл 2011, 01:19

isql работает ?
IBE какую ошибку выдаёт самой первой ?
В каталоге WinSxS какие версии рантайма есть (подкаталоги с Microsoft.VC80.CRT в имени) ?

Много букв и ни одной полезной :(

vsimashko
Сообщения: 20
Зарегистрирован: 03 мар 2010, 10:33

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение vsimashko » 17 июл 2011, 16:04

1) isql работает, из Delphi таблички вижу (через BDE, встроенный драйвер INTRBASE)

3) каталоги :
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.3053_x-ww_b80fa8ca
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.5592_x-ww_179798c8
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.6195_x-ww_44262b86
x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700


2) первый скрин ошибка "TPB Constant (0) is unknown" при выполнении запроса :

select cast(1 as integer), cast(d.rdb$character_set_name as varchar(64)), cast(c.rdb$default_collate_name as varchar(64))
from rdb$database d
left join rdb$character_sets c ON (d.rdb$character_set_name = c.rdb$character_set_name)
union
select cast(2 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$FIELDS') and (rdb$field_name = 'RDB$FIELD_PRECISION')
union
select cast(3 as integer), cast(rdb$relation_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relations
where (rdb$relation_name = 'IBE$VERSION_HISTORY')
union
select cast(4 as integer), cast(rdb$relation_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relations
where (rdb$relation_name = 'IBE$PARAMS_HISTORY')
union
select cast(5 as integer), cast(rdb$relation_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relations
where (rdb$relation_name = 'IBE$PROJECT')
union
select cast(6 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$RELATIONS') and (rdb$field_name = 'RDB$RELATION_TYPE')
union
select cast(7 as integer), cast(rdb$relation_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relations
where (rdb$relation_name = 'IBE$SCRIPTS')
union
select cast(8 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$GENERATORS') and (rdb$field_name = 'RDB$DESCRIPTION')
union
select cast(9 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$ROLES') and (rdb$field_name = 'RDB$DESCRIPTION')
union
select cast(10 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$PROCEDURE_PARAMETERS') and (rdb$field_name = 'RDB$PARAMETER_MECHANISM')
union
select cast(11 as integer), cast(rdb$field_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relation_fields
where (rdb$relation_name = 'RDB$PROCEDURE_PARAMETERS') and (rdb$field_name = 'RDB$FIELD_NAME')
union
select cast(12 as integer), cast(rdb$relation_name as varchar(64)), cast(' ' as varchar(64)) from rdb$relations
where (rdb$relation_name = 'RDB$ENCRYPTIONS')
union
select cast(16 as integer), cast(rdb$character_set_name as varchar(64)), cast(' ' as varchar(64)) from rdb$character_sets
where (rdb$character_set_name = 'UTF8')

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

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение hvlad » 17 июл 2011, 16:50

isql может выполнить запрос, на котором IBE плохо становится ?

vsimashko
Сообщения: 20
Зарегистрирован: 03 мар 2010, 10:33

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение vsimashko » 17 июл 2011, 17:17

Да, выдаёт 8 строк, но без заголовков почему-то :



============ ================================================================ ================================================================
1 WIN1251 WIN1251
2 RDB$FIELD_PRECISION
6 RDB$RELATION_TYPE
7 IBE$SCRIPTS
8 RDB$DESCRIPTION
9 RDB$DESCRIPTION
10 RDB$PARAMETER_MECHANISM
16 UTF8

Records affected: 8

vsimashko
Сообщения: 20
Зарегистрирован: 03 мар 2010, 10:33

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение vsimashko » 17 июл 2011, 17:22

Во втором скрине ( где ошибка "Access Violation in module MSVCR80.DLL " ) запрос вот такой :

select RDB$RELATION_NAME from RDB$RELATIONS
where (RDB$RELATION_NAME = 'MON$ATTACHMENTS') and
(RDB$VIEW_BLR is NULL)

ISQL возвращает вот такое (уже с заголовком) :

RDB$RELATION_NAME
===============================================================================
MON$ATTACHMENTS

Records affected: 1

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

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение hvlad » 17 июл 2011, 19:29

Я не вижу проблемы ни в сервере, ни в БД

vsimashko
Сообщения: 20
Зарегистрирован: 03 мар 2010, 10:33

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение vsimashko » 17 июл 2011, 21:38

!!! Решил проблему !!! :D :) :lol:

Исполнил следуюший "Танец с бубном" :

1) скачал FB 2.1 -> Debug Kits (Binary + PDB components) -> Full Classic or Superserver, zip kit -> 15,1 MB. Раззиповал.
2) простую инсталляцию "Windows executable" не убирал, просто отключил службы FB, перезагрузился, и все файлы из Debug Kit-а перезаписал ПОВЕРХ тех, что были у меня в "C:\ПрограмФайлс\FB ..."
3) в "C:\ПрограмФайлс\FB\BIN\ появилось несколько новых файлов, в т.ч. и та блюотека msvcr80.dll, на которую Эксперт ругался, что интересно - БОЛЕЕ СТАРОЙ ВЕРСИИ (8.0.50727.42) чем те, которые были на моей машине (были 8.0.50727.6195)
4) появилась папка "C:\ПрограмФайлс\FB ...\System32\", я из неё инстальнул "vccrt8_Win32.msi" - это Visual Studio 2005 Redistributable
5) ВКлючил службы FB, перезагрузился, и любимый "Эксперт" заработал !!!

Замечу, что вчера я по-честному деинсталлировал простой FB (Windows executable), потом ИНСТАЛЛИРОВАЛ, а не копировал этот же Debug Kit - сервер FB работал, а IBEXpert - нет !

Жаль, что здесь нельзя материться. Полтора суток занимаюсь ерундой, да ещё и в выходные :x .

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

Спасибо всем кто читал и отвечал в форум или мне на почту !!!

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

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение kdv » 19 июл 2011, 10:24

вырезал про cpl, ибо не имеет отношения.
и вернул размер к обычному.
сервер FB работал, а IBEXpert - нет !
кстати, FB не работал, а IBExpert - работал.

fzt
Сообщения: 1
Зарегистрирован: 24 ноя 2011, 05:44

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение fzt » 24 ноя 2011, 05:48

kdv писал(а):вырезал про cpl, ибо не имеет отношения.
Я твой дом труба шатал! =(((
Судя по всему это имело отношение к проблеме. Выполнил шаги вслед за автором + различные вариации. Мне не помогло.
А теперь оказывается кто-то что-то вырезал.. Какого Дъявола, тысяча чертей!

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

Re: FB 2.1 + IBExpert = глюк библиотеки MSVCR80.DLL

Сообщение kdv » 24 ноя 2011, 15:26

взаимно. cpl - старье, совсем не нужное для работы ФБ, абсолютно и никак, поэтому я там и вырезал текст про cpl.
Даже в последнем сообщении предыдущий автор занимается фигней - debug кит нужен только для отладки или для отправки разработчикам дампов при падении фб.

В общем, весь этот топик - фигня. а вам посоветую читать www.ibase.ru/devinfo/inst_manual.htm чтобы научится понимать, где источники проблем при установке ФБ, и кто в них виноват.

Ответить