Ошибка при запуске SmetaRu

Обсуждение программных комплексов "Smeta.RU" и "BabyСмета"

Модератор: Модераторы




Ошибка при запуске SmetaRu

Сообщение expertise Пт Мар 09, 2007 14:00

Программа установлена локально, Win XP Pro.
При запуске появляется модальное окошко:

Код: Выделить всё
Ошибка при работе с базой данных.

Дополнительная информация об ошибке:

GDSCODE = 335544325
Исключительная ситуация EIBIInterBaseError в модуле SmetaRu.exe.

bad parameters on attach or create database
CHARACTER SET WIN1251 is not defined.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Ваша реклама

google adsense
Группа компаний «СтройСофт»
Зарегистрирован: Чт Авг 22, 2002 11:06

Откуда: Москва

Сообщение Mikle Пт Мар 09, 2007 17:19

Добрый день!

Не моглы бы Вы предоставить дополнительную информацию:
1. Какая программа (Smeta.ru, BabySmeta, Нормокалькулятор)
2. Версия программы
3. Проверялась ли база утилитой IBBackUp
4. Прописана ли переменная среды окружения "FIREBIRD"
5. Не была ли ранее на машине установлена СУБД FireBird

Хотя таких ситуаций у нас еще не было, думаю вместе мы найдем решение этой проблемы.
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

Сообщение expertise Пт Мар 09, 2007 17:31

1. :) Тема "Ошибка при запуске SmetaRu", соответственно программа SmetaRu.
2. 1.15 насколько я понимаю.
3. Пытался, утилита не стартует. Секунд 20-30 её видно в процессах, потом выгружается.
4. В переменных среды такой переменной не вижу.
5. В данный момент не установлена, а была ли установлена ранее смогу узнать не раньше середины следующей недели.

Я не пользователь данной программы, я сисадмин.
Проблема с ошибкой при запуске проявилась несколько дней назад, мне сообщили только сегодня.

А, да, на всякий случай пробовал запуск с ключём sr - результат тот же.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение Mikle Пн Мар 12, 2007 9:12

Да, похоже что отлавливать эту ошибку придется долго ввиду отсутствия прецендентов и удаленности компа с ошибкой :-(.

У меня есть еще пара вопросов:
1. Какая версия Firbird установлена в системе? (Стандартный путь установки C:\FiriBird). Для программы версии 1.15 использовался FireBird 1.0.3.xxx. Возможно стоит попробовать переставить FireBird.
2. Возможно проблема появилась после установки какой-то другой программы, использующей FiriBird. Нельзя ли отследить какие установки предшествовали появлению этой ошибки?
3. Не могли бы Вы поискать на диске библиотечку fbintl.dll. Такая библиотека используется приложениями со встроенным FiriBird (мы его не используем) и подобная ошибка характерна именно для такого способа использования.
4. На всякий случай поищите еще на дисках библиотеку gds32.dll и сообщите все места ее нахождения и соответственно версии.

Предварительно. Что-то случилось с FiriBird - не удается соединится с базой с указанной в программе кодировкой. IbBackUp не запускается скорее всего по этой же причине.
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

Сообщение expertise Пн Мар 12, 2007 11:09

1. Версия FireBird 1.5.0.4306
2. За последние 2-3 месяца на этом компьютере только устанавливался(и переустанавливался примерно в день появления ошибки(примерно)) антивирус NOD32.
3. fbintl.dll отсутствует.
4. gds32.dll версии 6.3.0.4306 находится только в \SYSTM32\.

Насчёт переустановки FireBird. Где искать установочную версию? На установочных диска SmetaRu? Обнаружил несколько (я так думаю) комплектов дисков SmetaRu, промаркированных диск1-4 2004 и 2005 года. Мне тут(на работе) даже спросить не у кого. Все, кто хоть какое-то отношение к этому имеет, в командировках, с бывшим сисадмином связи нет.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение Mikle Пн Мар 12, 2007 12:11

А Вы уверены, что версия программы 1.15?
Просто с этой версией поставлялся FireBird более ранней версии - 1.0.3.xxx
Такое могло произойти, если к моменту запуска инсталлятора на компе уже стоял FireBird версии 1.5.
Но в принципе ничего крамольного в более новой версии СУБД нет - программа должна с ней работать без проблем. Не уверен, что FireBird есть на наших дисках отдельно (тем более за 2004-2005 год), но найти установочную версию можно без проблем в Интернете, например здесь:
http://www.ibase.ru/firebird.htm
(Не устанавливайте Embedded версию), можно попробовать версию 1.5 или родную для сметы версии 1.15 - 1.0.3.
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

Сообщение expertise Пн Мар 12, 2007 12:42

Я смотрел версии файлов. Других способов посмотреть версию незапускающейся программы не вижу.

Я посмотрел как прописана FireBird в системе. Да практически никак. В списке установленного софта её нет, единственное упоминание в реестре - строчка в разделе посвященном "удалённым из автозапуска при обновлении системы". Сервер запускается автоматически как служба. Соостветственно возникает вопрос как удалить перед установкой. Достаточно будет остановить службу и перевести в ручной режим?
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение Mikle Пн Мар 12, 2007 13:37

Версию программы можно посмотреть у исполняемого файла (SmetaRu.exe). Большое подозрение, что FireBird был установлен вручную, возможно простым копированием с регистрацией службы.

Переустановить FireBird можно так:
1. Остановить службу FireBird Guardian (она в свою очередь остановит службу FireBird Server).
2. Скопируйте себе в любую временную папку файл C:\Program Files\Firebird\Firebird_1_5\security.fdb
3. Если есть возможность удалить СУБД ч/з "Установка удаление программ", если нет - физически удалить папку C:\Program Files\Firebird\Firebird_1_5\ и все упоминания про FireBird в реестре.
4. Устанавливаем FireBird (версии 1.5) Вариант установки - по умолчанию SuperServer
5. Остановить службу FireBird Guardian
6. Скопировать сохраненный на 2-м шаге файл security.fdb на свое прежнее место C:\Program Files\Firebird\Firebird_1_5\ (поверх существующего).
7. Запустить службу FireBird Guardian

Шаги 2 и соответственно 5-7, нужны для сохранения в базе пользователей FireBird нашего пользователя и требуют установки именно 1.5 версии (в версии 1.0.3 этот файл называется по другому)
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

Сообщение expertise Пн Мар 12, 2007 14:17

FireBird переустановил. SmetaRu запускается. Спасибо.

Что интересно, откатил систему на 4 недели назад, чтобы посмотреть как оно тогда было. Так там не запускается, выдаёт ту же самую ошибку. Ну что ж, дождусь когда человек из командировки вернётся и попробую выяснить когда же на самом деле проблема появилась. :)
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение expertise Вт Мар 13, 2007 10:57

Всё оказалось не так просто. При попытке открытия базы из уже запущенной оболочки выскакивает окно:
Код: Выделить всё
Ошибка при работе с базой данных.

Дополнительная информция об ошибке:

GDSCODE = 335544343
Исключительная ситуация EIBInterBaseError в модуле SmetaRu.exe.

Invalid request BLR at offset 36
function GETSID is not defined
module name or entrypoint could not be found.


После нажатия ОК запускается, но при попытке что-либо выбрать выскакивает другое окно:
Код: Выделить всё
Ошибка при работе с базой данных.

Дополнительная информция об ошибке:

GDSCODE = 335544831
Исключительная ситуация EIBInterBaseError в модуле SmetaRu.exe.

Access to UDF library "B_UDF.DLL is denied by server administrator.


Кстати, IBBackUp так и не работает. То есть стартует, висит недолго в процессах и выгружается.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение Mikle Вт Мар 13, 2007 13:01

Посыпаю голову пеплом - забыл про пользовательские UDF, которые надо было переписать при переустановке FireBird в каталог
C:\Program Files\Firebird\Firebird_1_5\UDF\
Там уже есть стандартные библиотеки, необходимо добавить разработанные нами. К сожалению нет автоматического механизма сделать это, но можно пойти 2-мя путями:
1. Поставить SmetaRu инсталятором на чистую машину (можно ставить только серверную часть) и переписать из каталога UDF этой машины в соответствующий каталог на сервере только те библиотеки DLL которых там нет.
2. На инсталляционном диске есть файл SQL.ZIP, где в принципе все UDF лежат, но лежат они там накопительным образом, т.е. например для версии 1.15 необходимо сначала взять все udf из каталога 1.1 затем 1.2 и т.д. до 1.15. включительно при этом более новые файлы (лежащие в каталоге с большим номером версии) затирают старые.
Специально для версии SmetaRu 1.15 необходимо взять следующие DLL файлы из SQL.ZIP:
- B_UDF.dll (из каталога 1.8\udf)
- LckUdf.dll (из каталога 1.12\udf)
- LxUtils.dll (из каталога 1.12\udf)
- s_udf.dll (из каталога 1.14\udf)
- kUdf.dll (из каталога 1.14\udf)

Перед копированием dll библиотек в каталог C:\Program Files\Firebird\Firebird_1_5\UDF\ службу сервера надо остановить (программа не должна быть запущена), после копирования - запустить.
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

Сообщение дядя Леша Вт Мар 13, 2007 23:05

жесть :shock:
Аватара пользователя
дядя Леша
Актив
Актив
 
Сообщения: 39
Зарегистрирован: Пн Дек 19, 2005 0:33
Репутация: 0 (?)

Сообщение expertise Ср Мар 14, 2007 10:00

Михаил, спасибо за помощь. Всё у нас теперь ок.

дядя Леша, и вам спасибо за сочуствие и комментарии.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение expertise Чт Апр 19, 2007 9:51

Продолжу в этой теме, поскольку проблема в чём-то схожая.
Начальные условия те же - Win XP Pro, SmetaRu, FireBird 1.15. При запуске программы определяется ключ, происходит подключение к базе, выдаётся запрос логин/пароль. При попытке входа:
Код: Выделить всё
GDSCODE = 335544343.
Исключительная ситуация EIBInterBaseError в модуле SmetaRu.exe.
invalid request BLR at offset 1222
function LCHECKIND is not defined
module name or entrypoint could not be found.

И всё.
Аватара пользователя
expertise
Новенький
Новенький
 
Сообщения: 12
Зарегистрирован: Пт Мар 09, 2007 13:52
Репутация: 0 (?)

Сообщение Mikle Чт Апр 19, 2007 12:02

Добрый день!
Проверьте наличие динамической библиотеки:
C:\Program Files\Firebird\Firebird_1_5\UDF\LckUdf.dll
Она должна быть версии 1.12.0.3 и размером 48 640 Байт
Если ее там нет, то скопировать ее туда можно способом описаным мною выше в посте от Вт Мар 13, 2007 13:01 (предварительно остановив сервер FireBird)

P.S. А Вы не подумывали об обновлении программы? Уже версия 4.2 продается, а у Вас все еще 1.15 :-)
С уважением. Михаил.
Аватара пользователя
 Mikle
Един с Силой
Един с Силой
 
Сообщения: 1111
Зарегистрирован: Пт Май 06, 2005 11:34
Откуда: Москва
Репутация: 47 (?)

След.


Вернуться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1




© 1995-2019 Группа компаний «СтройСофт»