Не удается открыть файл lib
Обновлено: 21.11.2024
Установленные пакеты:
oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64 .rpm
oracle-instantclient11.2-odbc-11.2.0.3.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm р>
Установлен из репозитория unixODBC
Переменные окружения прописаны, запускается под пользователем zabbix
isql -v testDB user passwd
все отрабатывает на ура
Создать элемент для мониторинга базы данных через интерфейс Я получаю сообщение об ошибке
Не удается подключиться к ODBC DSN: [SQL_ERROR]:[01000][0][[unixODBC][Диспетчер драйверов]Не удается открыть lib '/usr/lib/oracle/11.2/client64/lib/libsqora.so. 11.1' : файл не найден]|
прописаны символические ссылки
ldd libsqora.so.11.1
linux-vdso.so.1 => (0x00007ffd9ddfd000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f0fcde66000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0fcdb63000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0fcd947000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f0fcd72e000)
libclntsh.so.11.1 => /usr/lib/oracle/11.2/client64/lib/libclntsh.so.11.1 (0x00007f0fcae9c000 )
libodbcinst.so.1 => /lib64/libodbcinst.so.1 (0x00007f0fcac8a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0fca8c8000)
/ lib64/ld-linux-x86-64.so.2 (0x00007f0fce240000)
libnnz11.so => /usr/lib/oracle/11.2/client64/lib/libnnz11.so (0x00007f0fca4fb000)
libaio. so.1 => /lib64/libalio.so.1 (0x00007f0fca2f9000)
libltdl.so.7 => /lib64/libltdl.so.7 (0x00007f0fca0ef000)
кто-то сталкивался? как решить?
- 0 Как настроить биллинг для 4 Elastix (Asterisk 13)?
- 1 Как составить пропорцию?
- 2 Где в мск можно оплатить ремонт r9-280x (артефакты)?
- 2 Как изменить каталог в Debian после входа в систему через ssh?
- 1 Как получить соответствующий блок при изменении URL-адреса?
- 2 Как записать большую строку в файл?
- 2 Можно ли найти оплачиваемую стажировку в Москве?
- 1 Как в PhpStorm открывать несколько окон?
Да, тупой. Почитал, получается не загружаются савинести, так как env толком не заполнен. Скоро потрёт свою метель - прокомментировал mercedes 9 июля 19 в 11:39
Здесь. Несмотря на то, что я установил переменные окружения для пользователя для дочерних процессов, окружение все равно не получает эти переменные. У меня Centos ранее не работал, так как подозреваю, что решение простое и связано с настройкой. - прокомментировал Sofia_Flatley 9 июля 19 в 11:42
Я пытаюсь получить доступ к Oracle с сервера Linux. Я использую unixODBC.
Когда я пытаюсь получить доступ к oracle с помощью isql, я получаю сообщение об ошибке, что диспетчер драйверов не может открыть libsqora.so.12.1.
Затем, когда я использую isql для доступа к оракулу, я получаю следующую ошибку:
У меня была опечатка в odbcinst.ini. Я исправил, но все еще та же ошибка.
Ниже показан самый последний вывод env:
В базовом мгновенном клиенте нет этого файла (или каталога lib). Так это действительно мгновенный клиент, как следует из пути, или полноценный клиент (или сервер)?
Если вы переупорядочили файлы мгновенного клиента, я не знаю, может ли это привести к путанице внутренних ссылок - возможно, ошибка связана с другой, которую затем не удается найти? Вам также может понадобиться добавить каталог lib (и/или его родитель) в LD_LIBRARY_PATH , имеет ли это значение?
У меня работает isql, но я обнаружил, что приложение, для которого я его создаю, поддерживает только 32-битный клиент oracle. Поэтому я установил 32-битный оракул и снова сломал его. Теперь я получаю ту же ошибку при выполнении sql.
3 ответа 3
Эта ошибка вводит в заблуждение:
Я смог отследить отсутствующий файл, выполнив:
Это вернуло серию файлов, и один из них сказал:
Это было виновником для меня. Затем я создал нужную мне ссылку и вуаля, ошибка исчезла.
Спасибо за совет, возникла та же проблема с отсутствующим файлом при настройке доступа к приложению Linux I в Ubuntu.
Если файл присутствует, но не указан в пути к библиотеке, вы можете задать LD_LIBRARY_PATH или добавить файл в /etc/ld/conf.d и повторно запустить ldconfig
@user3771500 Можете ли вы опубликовать, какие ссылки вы создали, мне не хватает этих файлов: libicuuc.so.42 и libicudata.so.42
Я хотел бы также знать, как вы "создали ссылку"? На моей стороне есть libclntsh.so.12.1 => not found и libclntshcore.so.12.1 => not found
Мгновенный клиент не имеет каталога lib. Если вы загрузили пакет InstantClient-odbc-linux и разархивировали его в том же месте, что и базовый пакет, то файл libsqora.so.11.1 будет находиться непосредственно в папке /usr/local/easysoft/oracle/InstantClient112 .
Итак, ваш .ini должен указывать на:
Обратите внимание на расширение; вы можете связать это с libsqora.so . Если вы переместили файлы .so в подкаталог после распаковки (?), то вам понадобится:
Похоже, вы реорганизовали файлы мгновенного клиента после распаковки, создав каталог lib. Я не уверен, что это напрямую вызовет у вас проблемы. Но вы также не установили LD_LIBRARY_PATH , как предлагают инструкции по установке:
Загрузите соответствующие пакеты Instant Client для вашей платформы. Для всех установок ТРЕБУЕТСЯ пакет Basic.
Разархивируйте пакеты в один каталог, например "instantclient".
Укажите в качестве пути загрузки библиотеки в вашей среде каталог на шаге 2 ("instantclient"). На многих платформах UNIX LD_LIBRARY_PATH является подходящей переменной среды. В Windows следует использовать PATH.
Запустите приложение и наслаждайтесь.
Очевидно, что шаг (4) у вас еще не работает, но я думаю, это потому, что вы не выполнили шаг (3); и я думаю, что, поскольку вы разделили файлы, что само по себе может вызвать проблему, вам может потребоваться включить оба файла . /InstantClient112 и . /InstantClient112/lib в переменной LD_LIBRARY_PATH. И убедитесь, что измененное значение экспортировано. Я не уверен, почему вы хотите изменить порядок файлов.
затем, когда я использую isql для доступа к оракулу, я получаю эту ошибку:
Что не так с моей конфигурацией, кто-нибудь может мне помочь??
Ответы
Разве в начале пути к местоположению драйвера ODBC не пропущена косая черта?
Проверьте "ls -al root/download/odbc/instantclient_12_1/libsqora.so.12.1" и сообщите результат.
Кстати, если вы хотите получить доступ к Postgres из Oracle, вам не нужен драйвер Oracle ODBC.
это результат "ls -al linsqora.so.12.1"
я пытался использовать ldd для libsqora и получил такой результат
libodbcinst.so.2 => не найдено (я скопировал его в библиотеку, но не нашел)
libaio.so.1 => не найдено
libclntshcore.so.12.1 => не найден
libclntshcore.so.12.1 => не найден
я пытаюсь скопировать много файлов в lib, но ничего не находит, что не так??
Вы проверили это с помощью "ls -al root/download/odbc/instantclient_12_1/libsqora.so.12.1"?
Для меня это выглядит так, что вы пропустили косую черту в начале, и правильный путь должен быть "/root/download/odbc/instantclient_12_1/libsqora.so.12.1".
Какую версию драйвера ODBC вы установили (odbcinst -j)?
libaio.so обычно устанавливается в /usr/lib64/ части пакета libaio.
А libclnt — это клиентская библиотека Oracle. Поэтому убедитесь, что вы правильно установили LD_LIBRARY_PATH.
- да, я проверил root/download/odbc/instantclient_12_1/libsqora.so.12.1
- я использовал косую черту, но все равно не могу открыть libsqora.so
- я установил ODBC 2.3.1
- я нашел libaio.so в /usr/lib64, но до сих пор не нашел в ldd
- я установил LD_LIBRARY_PATH в:
пожалуйста, опубликуйте вывод команды "env" и "ls -al /root/download/odbc/instantclient_12_1/libsqora.so.12.1", а затем сразу же снова вызовите "isql -v XE".
Пожалуйста, опубликуйте вывод для всех трех команд.
это результат
ls -al /root/download/odbc/instantclient_12_1/libsqora.so.12.1
Переменная ODBCINI не задана. Кроме того, вы установили для LD_LIBRARY_PATH значение LD_LIBRARY_PATH=/usr/lib:/usr/lib64, но он пропускает каталог драйвера Oracle ODBC, а также каталог клиентской библиотеки Oracle.
Кстати, почему вы хотите исследовать проблему с драйвером Oracle ODBC, если вашей реальной целью является подключение Oracle к базе данных Postgres? Разве не имеет смысла вместо этого установить драйвер Postgres ODBC и проверить, может ли драйвер подключиться?
Я думаю, что прежде чем использовать Postgres ODBC, я должен подключиться к Oracle из isql..
и при использовании postgres для подключения не удалось
извините, я недостаточно внимательно прочитал первое обновление или отвлекся, когда вы разместили его на форуме гетерогенных услуг. Вы хотите подключиться из Postgres к Oracle и, следовательно, вам нужен драйвер Oracle ODBC.
Драйверу Oracle ODBC требуются клиентские библиотеки Oracle. Поэтому обязательно добавьте их в LD_LIBRARY_PATH
Драйвер ODBC для SQL Server образа Docker — «Не удается открыть lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.2': файл не найден»
У меня возникла проблема с запуском драйвера odbc sql-сервера в образе Docker. Подробности ниже:
Информация об ОС
Я добавил параметр трассировки odbc в файл odbinst.ini. Полная ошибка:
Трассировка ODBC
[ODBC][31][1642685080.665980][__handles.c][460]
Выход:[SQL_SUCCESS]
Environment = 0x561eac6f9b80
[ODBC][31][1642685080.666012][ SQLAllocHandle.c][377]
Запись:
Тип дескриптора = 2
Входной дескриптор = 0x561eac6f9b80
UNICODE Использование кодировки ASCII 'ANSI_X3.4-1968' и UNICODE 'UCS-2LE '
[ODBC][31][1642685080.666215][SQLAllocHandle.c][513]
Выход:[SQL_SUCCESS]
Выходной дескриптор = 0x561eac700050
[ODBC][31][1642685080.666236] [SQLDriverConnect.c][748]
Запись:
Connection = 0x561eac700050
Window Hdl = (nil)
Str In = [DRIVER=;server=TSVMAEPHQDB019;UID=SubSitesDataRead;PWD=* **********][длина = 96 (SQL _NTS)]
Str Out = 0x7ffded5a5620
Str Out Max = 2048
Str Out Ptr = (nil)
>Завершение = 0
[ODBC][31][1642685080.669342][SQLConnect.c][1140]Не удается открыть lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.2': файл не найдено
[ODBC][31][1642685080.669379][SQLError.c][424]
Запись:
Connection = 0x561eac700050
SQLState = 0x7ffded5a9c36
Native = 0x7ffded5a9c30
Текст сообщения = 0x7ffded5a9c40
Длина буфера = 500
Длина текста Ptr = 0x7ffded5a9c2e
[ODBC][31][1642685080.669414][SQLError.c][474]
Выход: [SQL_SUCCESS]
SQLState = 01000
Native = 0x7ffded5a9c30 -> 0 (32 бита)
Текст сообщения = [[unixODBC][Диспетчер драйверов]Не удается открыть библиотеку '/opt/ microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.2': файл не найден]
[01000][unixODBC][Диспетчер драйверов] Не удается открыть lib '/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.2': файл не найден
[ODBC][31][1642685080.669438][SQLError.c][424]
Запись:
Соединение = 0x561eac700050
SQLState = 0x7ffded5a9c36
Native = 0x7ffded5a9c30
Текст сообщения = 0x7ffded5a9c40
Длина буфера = 500
Text Len Ptr = 0x7ffded5a9c2e
[ODBC][31][1642685080.669461][SQLError.c][474]
Выход:[SQL_NO_DATA]
[ODBC][31][1642685080.669476][SQLError.c][424 ]
Запись:
Environment = 0x561eac6f9b80
SQLState = 0x7ffded5a9c36
Native = 0x7ffded5a9c30
Text Message = 0x7ffded5a9c40
Длина буфера = 500
Text Len Ptr = 0x7ffded5a9c2e
[ODBC][31][1642685080.669501][SQLError.c][474]
Выход:[SQL_NO_DATA]
[ISQL]ОШИБКА: не удалось подключить SQLDriverConnect
[ ODBC][31][1642685080.669524][SQLFreeHandle.c][290]
Запись:
Тип дескриптора = 2
Входной дескриптор = 0x561eac700050
[ODBC][31][1642685080.669553 ][SQLFreeHandle.c][339]
Выход:[SQL_SUCCESS]< br />[ODBC][31][1642685080.669569][SQLFreeHandle.c][220]
Запись:
Тип дескриптора = 1
Входной дескриптор = 0x561eac6f9b80
Некоторые важные примечания:
файл odbcinst.ini ниже:
[Драйвер ODBC 17 для SQL Server]
Описание=Драйвер ODBC Microsoft 17 для SQL Server
Драйвер=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.2
UsageCount=1
Файл расширения LIB — это библиотечный файл, который в первую очередь используется в качестве входных данных для компоновщика. Файлы LIB включают стандартные файлы библиотек COFF (Common Object File Format) и файлы импортированных библиотек.
Однако файлы LIB не ограничиваются одним приложением, это также общая библиотека данных, содержащая информацию, используемую конкретной программой, часто содержащую функции и константы, на которые программа ссылается.
Данные, которые может содержать файл LIB, являются переменными по своей природе и могут включать в себя реальные объекты, такие как текстовые вырезки, изображения или другие медиафайлы, и обычно на них ссылаются в запросах.
Файлы LIB аналогичны файлам DLL, они содержат библиотеки динамической компоновки, однако они представлены как альтернатива этим, которые в любом случае файлы LIB содержат статические библиотеки, которые можно использовать в качестве библиотек импорта для файлов DLL, помечая их значком расширение файла LIB.
Небезызвестное приложение для C++ так как представлено в виде файла импорта этого языка программирования. Файл LIB в C++ содержит информацию, необходимую компоновщику для разрешения внешних ссылок на экспортированные функции DLL.
Файлы LIB не следует открывать вручную, так как они являются двоичными и системными файлами.
Часто связанные объекты Windows:
<УЛ>Открыть файл LIB в Windows
- Найдите нужный файл LIB в проводнике ОС Windows и дважды щелкните его, чтобы запустить соответствующее приложение.
- Если файл LIB не открывается в приложении, а вместо этого появляется сообщение об ошибке "Windows не удается открыть файл", попробуйте поискать приложение, которое может открыть рассматриваемый файл.
- Если вы знаете приложение, которое может открыть файл LIB, запустите его и посмотрите, есть ли в приложении пункт Файл->Открыть в главном меню.
- Если вы не знаете, какое приложение работает как средство открытия файлов LIB, попробуйте выполнить поиск по запросам "LIB wiki", "application to open LIB file" или "open LIB file" в поисковой системе, которая вам нравится. ли>
- Установите найденное приложение и проверьте, может ли оно открыть файл LIB.
Открыть файл LIB в Mac OS
- Найдите нужный файл LIB в Mac OS Finder и дважды щелкните его, чтобы запустить соответствующее приложение.
- Если файл LIB не открывается в приложении Mac OS, а вместо этого вы получаете сообщение об ошибке «Нет приложения, предназначенного для открытия файла», вы можете нажать «Поиск в App Store» в диалоговом окне ошибки, и Mac OS показать вам приложения, совместимые с файлом LIB.
- Если вы знаете приложение Mac OS, которое может работать как средство открытия файлов LIB, вы можете выбрать параметр «Выбрать приложение» в окне ошибки, чтобы связать расширение файла и открыть в нем файл LIB.
- Если вы не знаете, какое приложение может открыть файл LIB, попробуйте выполнить поиск по запросам "LIB wiki", "application to open LIB file" или "open LIB file" в поисковой системе, которая вам нравится.
- Установите найденное приложение и проверьте, может ли оно открыть файл LIB.
Открыть файл LIB на Android
- В списке приложений Android на устройстве Android найдите приложение "Мои файлы" или "Диспетчер файлов" и коснитесь его, чтобы запустить.
- Нажмите на папку "Загрузки" внутри приложения.
- Вы должны увидеть загруженный файл LIB в этой папке.
- Нажмите на файл. Если устройство Android поддерживает открытие загруженного файла, он откроется в соответствующем приложении.
- Если файл не открывается, вы можете найти соответствующее приложение, которое может открыть файл, выполнив поиск в Android App Store по запросу «LIB».
- Если вы не можете открыть файл с приложениями из Android App Store, возможно, файл можно открыть только на настольных платформах, таких как Windows или Mac OS. Попробуйте поискать в Интернете "LIB-файл" и посмотрите, могут ли его открыть какие-либо настольные приложения.
- Возможно также, что загруженный вами файл устарел и больше не поддерживается.
Открыть файл LIB на iPhone или iPad
- Откройте приложение «Файлы» на устройстве iPhone или iPad. Чтобы найти его, проведите вниз по главному экрану и введите "Файлы" в строке поиска.
- Нажмите на папку «Загрузки» на главном экране приложения «Файлы».
- Вы увидите все недавно загруженные файлы. Нажмите на файл LIB, чтобы просмотреть его.
- Если у вас есть нужное приложение, которое может его открыть, оно автоматически запустится и откроет ваш файл.
- Если у вас нет приложения, которое может его открыть, вам нужно найти «LIB» в магазине приложений Apple. Таким образом, вы можете найти приложения, которые могут открывать файлы LIB.
- Если это не поможет, возможно, ваш файл может быть открыт только настольным приложением. Чтобы найти приложение, которое может открыть его на рабочем столе, найдите "LIB file" в своей любимой поисковой системе.
Наполнение этого веб-сайта информацией и его поддержка — непрерывный процесс. Мы всегда приветствуем отзывы и вопросы, которые можно отправить, посетив страницу «Контакты». Однако, поскольку этот веб-сайт посещает много пользователей, а наша команда довольно мала, мы, возможно, не сможем лично ответить на каждый запрос. Спасибо за понимание.
Читайте также: