unixODB C и Electron JS, ODB C работают в разработке, но не в производственной сборке - PullRequest
0 голосов
/ 12 февраля 2020

Я работаю над приложением Electron JS, использующим шаблон электронной реакции и шаблона, и использую node-odb c для подключения к базе данных Pervasive SQL. Все работало, как и ожидалось, с точки зрения возможности CRUD для целевых таблиц Pervasive, пока я не упаковал его в производственную сборку и не приступил к тестированию.

Ошибка, которую я получаю при попытке подключения:

[unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib64/libodbcci.dylib' : file not found

Как я уже сказал, я не получаю эту ошибку при запуске в разработке с использованием включенного ниже сценария "электронная реакция-шаблон" по умолчанию:

cross-env START_HOT=1 node -r @babel/register ./internals/scripts/CheckPortInUse.js && cross-env START_HOT=1 yarn start-renderer-dev

Еще одно замечание, не уверен, что уместно, но если я запустил * .app, используя lldb, он будет работать как положено.

Я включил соответствующую информацию ниже, основываясь на других похожих постах, которые я найдено:

Lib существует:

ls -l /usr/local/psql/lib64/libodbcci*
lrwxr-xr-x  1 psql  pvsw      18 Jan 30 15:51 /usr/local/psql/lib64/libodbcci.dylib -> libodbcci.dylib.13
lrwxr-xr-x  1 psql  pvsw      29 Jan 30 15:51 /usr/local/psql/lib64/libodbcci.dylib.13 -> libodbcci.dylib.13.31.015.000
-rwxr-xr--@ 1 psql  pvsw  826256 Dec 15 17:38 /usr/local/psql/lib64/libodbcci.dylib.13.31.015.000

unixODB C Настройка:

$ cat /usr/local/psql/etc/odbc.ini
[ODBC Data Sources]
GLOBAL_TST=Pervasive ODBC Interface

[GLOBAL_TST]
Driver=/usr/local/psql/lib64/libodbcci.dylib
Description=Pervasive ODBC Interface: ***.***.**.*:1583/GLOBALTST
DBQ=GLOBALTST
ServerName=***.***.**.*:1583
UID=*******
PWD=*******
OpenMode=0
PvTranslate=
$ isql global_tst -v
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

~ / .zshr c

export PVSW_ROOT=/usr/local/psql
export PATH=/usr/local/bin/:$PVSW_ROOT/bin:/bin:/usr/bin:$PATH

if [ $(uname -s) = "Darwin" ]
then
    export DYLD_LIBRARY_PATH=$PVSW_ROOT/lib64:$PVSW_ROOT/bin:/usr/lib
    export LANG=en_US.UTF-8
else
    export LD_LIBRARY_PATH=$PVSW_ROOT/lib:$PVSW_ROOT/lib64:$PVSW_ROOT/bin:/usr/$
fi

export MANPATH=$PVSW_ROOT/man:$MANPATH
export BREQ=$PVSW_ROOT/lib
export LD_BIND_NOW=1

...
...