|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
Доброго дня, знатокам InterBase. Проблема такая. Нужно перенести базу из Винды в Линух. Gbak - ом все перенес. UDF перетранслировал в Линухе и как мог протестировал. Теперь бы поменять DDL для этих UDF, но КАК? DROP старых процедур не проходит из-за зависимостей (они используются во внешних процедурах). С внешними процедурами тоже ничего сделать не получается (ни удалить, ни 'деактивировать') - выдает сообщение: This operation is not defined for system tables. unsuccessful metadata update. ERASE RDB$PROCEDURE_PARAMETERS failed. invalid request BLR at offset 280. function TIMEMINPLUS is not defined. module name or entrypoint could not be found. Естественно этого модуля нет, т.к. эта UDF изначально описана в модуле (.dll) для windows. Подскажите, что-нибудь, плиииз. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:31 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
voraa, комментируй тела зависимых процедур. Потом как пересоздашь UDF с новой точкой входа раскоментриуй. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:36 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
а на 1.5 можно было подменять BLR... (чем я кстати и воспользовался до "переезда") Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:40 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
Симонов Денис, Не получается. (Собственно это и делает деактивация.) Но ответ тот же - она хочет модуль, где описана UDF .... function TIMEMINPLUS is not defined. module name or entrypoint could not be found. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:49 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
voraaЕстественно этого модуля нет, т.к. эта UDF изначально описана в модуле (.dll) для windows. Посмотри как они объявлены в системных таблицах. Если с расширением - просто переименуй "перетранслированные" библиотеки (например libmyudf.so в myudf.dll.so). Если ещё и с путём - зависит от версии сервера. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:51 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Спасибо за идею. Попробую. Есть еще, конечно, вариант - деактивировать эти процедуры еще на Винде, перед тем, как сжимать А на Линухе просто восстановить тела Но боюсь, что заказчик взвоет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 14:55 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
линки на линухе создай. чтоб ничего не переименовывать. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 15:04 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
voraaUDF перетранслировал в Линухе и как мог протестировал. Теперь бы поменять DDL для этих UDF, но КАК? Ну я бы перерегистрировал их в винде без указания расширения (вместо myudf.dll просто myudf) При сборке под Линуксом собрал-бы в файл myudf.so и усе ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 15:08 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovvoraaЕстественно этого модуля нет, т.к. эта UDF изначально описана в модуле (.dll) для windows. Посмотри как они объявлены в системных таблицах. Если с расширением - просто переименуй "перетранслированные" библиотеки (например libmyudf.so в myudf.dll.so). Если ещё и с путём - зависит от версии сервера. Переименовывать не стал. На Винде исторически сложилось, что эти UDF были в разных библиотеках, тем более, что в объявлениях они где большими буквами, где маленькими. А на Линухе их решили свести в одну. Создал для каждого варианта ссылку. Почти прокатило. Внешние процедуры удалось деактивировать - закомментарить тела. Зависимости убрались. Но сами UDF удалить не получается. На DROP EXTERNAL FUNCTION BLABLABLA; Выдает This operation is not defined for system tables. unsuccessful metadata update. ERASE RDB$FUNCTION_ARGUMENTS failed. lock conflict on no wait transaction. Что это такое? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 18:32 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
voraa, есть ещё активные соединения. У тебя они в кеше метаданных застряли ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 19:15 |
|
Перенос Interbase из Windows в Linux
|
|||
---|---|---|---|
#18+
Симонов Денис, Наверно есть. А как от них избавиться. Ведь, что через isql, что через IBExpert все равно соединяться приходится. Других быть не должно - база пока стоит локально на виртуальной машине. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2018, 19:53 |
|
|
start [/forum/topic.php?fid=40&msg=39741977&tid=1560891]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 268ms |
0 / 0 |