|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Добрый день! Перенес на сервер с Freebsd скрипт на php, который вместе с базой firebird 2.5.4 является порталом заявок. Базу перенес обычным копированием. Она видна. Когда захожу на портал, то не открываются заявки, вижу ошибку: Warning: ibase_prepare(): invalid request BLR at offset 162 function STRLENGTH_LONG is not defined module name or entrypoint could not be found Error while parsing procedure TEXTTOHTML_FULL_V2's BLR Error while parsing procedure CLAIMS_ATTRIBUTES_GET's BLR in /usr/local/www/helpdesk/include/DatabaseFunctions.php on line 84 Warning: ibase_execute() expects parameter 1 to be resource, boolean given in /usr/local/www/helpdesk/include/DatabaseFunctions.php on line 87 Warning: ibase_fetch_assoc() expects parameter 1 to be resource, boolean given in /usr/local/www/helpdesk/include/DatabaseFunctions.php on line 99 Посмотрел на старом сервере библиотеки udf, скопировал их на новый сервер(там была StrLib.dll). Ошибка не уходит (Скрипт также висит на старом сервере FreeBSD, там все работает. Версия firebird 2.5.1) Помогите, пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 12:03 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Добрый день! Посмотрел на старом сервере библиотеки udf, скопировал их на новый сервер(там была StrLib.dll). Ошибка не уходит (Скрипт также висит на старом сервере FreeBSD, там все работает. Версия firebird 2.5.1) Помогите, пожалуйста. Старый сервер FreeBsd Библиотека StrLib.dll FreeBSD умеет юзать виндовые библиотеки? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 12:12 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111, библиотека StrLib вам нужна в виде "so", а не "dll". Пересоберите на Linux'е из исходников. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 12:22 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111, а чем стандартная функция CHAR_LENGTH присутствующая в firebird 2.5.4 не угодила? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 12:45 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
а как пересобрать библиотеку? Может есть возможность научить firebird под Freebsd читать dll? По видимому firebird на старом сервере это делать научился. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:09 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Может есть возможность научить firebird под Freebsd читать dll? формат dll и exe на Линуксе и Винде разный. Firebird никак сам не "читает" dll. Он вызывает функцию ОС для загрузки dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:11 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111а как пересобрать библиотеку? Может есть возможность научить firebird под Freebsd читать dll? По видимому firebird на старом сервере это делать научился. Нет. Скорее всего на старом сервере что-то работает не так, как тебе кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:17 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
На старом сервере убрал из директории /usr/local/libexec/firebird/udf файл StrLib.dll. Перезапустил firebird. В заявках перестал отображаться текст, а после выхода вообще не могу назад залогиниться, в систему заявок. Вернул файл назад. Все работает. Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:30 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Все работает. Что делать? Отойти и ничего не трогать. Всю работу предоставить сисадмину. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:41 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
)))))) Вот я и предоставляю. Админ-то я. Но сначала нужно разобраться, что делать. Работает только на старом сервере. На новом firebird не видит функции из dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:45 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111)))))) Вот я и предоставляю. Админ-то я. Но сначала нужно разобраться, что делать. Работает только на старом сервере. На новом firebird не видит функции из dll. Вот интересно, чего внутри файла StrLib.dll ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:51 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Но сначала нужно разобраться, что делать. Читай Firebird Language Reference и прочую документацию о том что такое UDF и как они работают. Потом - man ldd или чем там во FreeBSD можно проверить зависимости. Потом запускаешь isql, делаешь запросы и читаешь сообщения об ошибках. Не поможет - применяешь тяжёлую артиллерию в виде strace для слежения за целым процессом попытки загрузки библиотеки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:54 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Чё-чё... Обычный so-файл, просто с именем .dll ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 13:54 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Работает только на старом сервере. На новом firebird не видит функции из dll. Не припомню, чтобы в референсе конфигурации (LINT) сборки ядра FreeBSD был параметр, указывающий на поддержку в системе образов MZ/PE, но параметр поддержки образов программ Linux там есть совершенно точно. Firebird на старом сервере случайно не под Wine'ом стартует? Кто настраивал старый сервер? Ядро на старом сервере дефолтное или пересобиралось? Если пересобиралось, то с какими конфигурационными параметрами? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:02 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Новый сервер, видать, разрядностью не тот? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:02 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
o_v_a, кстати да! Очень может быть, что на старом сервере стоял Firebird x86, а на новом x86_64. Естественно, что 32-битную библиотеку он не загрузит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:05 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
o_v_aЧё-чё... Обычный so-файл, просто с именем .dll А это может быть символьная ссылка на реальный so-файл ? P.S. Сорри, не силен в линуксах. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:11 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
o_v_a, Большое спасибо! Похоже файлы и правда so с именем dll. Нашел, что на старом сервере файлы компилировались с помощью с++ компилятора gcc. И исходники там есть с расширением .c Всем большое спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:27 |
|
Ошибка при использовании функции STRLENGTH_LONG
|
|||
---|---|---|---|
#18+
Nickolay_111Похоже файлы и правда so с именем dll. вероятно, было так. некий умник в системе на винде прописал в базу udf указывая имя библиотеки вместе с расширением (чего делать не требуется, сервер сам подставляет правильное расширение под конкретной OS). Из-за чего при переносе БД на FreeBSD пришлось эту либу из so переименовать в dll. Посмотри в rdb$functions, что там написано. Если расширение указано, то его прямо там можно отредактировать и убрать. А у либы udf тогда должно быть штатное юниксовое расширение .so. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2015, 14:56 |
|
|
start [/forum/topic.php?fid=40&msg=39138179&tid=1562428]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 154ms |
0 / 0 |