powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / wine + unixodbc + oracle
20 сообщений из 20, страница 1 из 1
wine + unixodbc + oracle
    #39568375
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте товарищи БДшники и программисты помогите дяде сисадмину разобраться в чём дело...
Дано:
Сервер БД - dbserver - Windows NT/Oracle9
Рабочая станция - rs-01 - Linux x32

На рабочей станции установлен Wine, в нём установлена самописная прога (Visual Basic) для производственных целей, компоненты оракла для этой проги (Forms runtime, reports runtime, OO4O и прочее) в той же последовательности что ставим на винде

UnixODBC
odbc.ini
Код: plaintext
1.
2.
3.
4.
[333]
Driver = OracleDRV
DSN = 333
ServerName = dbserver


odbcinst.ini
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
[ODBC]
Trace		= Yes
TraceFile		= /tmp/sql.log
ForceTrace		= No
Pooling		= No

[OracleDRV]
Description		= OracleDRV
Driver		= /usr/lib/oracle/10.2.0.5/client/lib/libsqora.so.10.1
Driver64		= 
Setup		= 
Setup64		= 
UsageCount		= 1
CPTimeout		= 
CPReuse		= 


Задача:
Заставить эту прогу работать

Пока застрял на этапе проверки коннекта к серверу:
$ isql -v 333 user pass
Код: plaintext
1.
[S1000][unixODBC][Oracle][ODBC][Ora]ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Вот тут я уже незнаю что делать...
На рабочей станции с виндой, где эта прога работает нашел файл c:\ORANT\NET80\ADMIN\TNSNAMES.ORA там указаны наши серверы БД

Скопировал его в то же место на линуксовом компе, но думаю от этого мало толку.
Подскажите в какую сторону мне копать?
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568400
SanamailORA-12514: TNS:listener does not currently know of service requested in connect descriptor
Вот тут я уже незнаю что делать...

На рабочей станции с виндой, где эта прога работает нашел файл c:\ORANT\NET80\ADMIN\TNSNAMES.ORA там указаны наши серверы БД
Скопировал его в то же место на линуксовом компе, но думаю от этого мало толку.
Подскажите в какую сторону мне копать?
12514 означает, что:
1. дескриптор соединения (это именованная блямба из tnsnames.ora) найден
2. прилада обратилась по указанным в дескрипторе реквизитам (хост, порт, имя сервиса/инстанса)
3. по указанному порту на сервере ей ответил правильный процесс (listener)
4. К сожалению, листенер не смог в своем списке отыскать тот сервис БД, к которому запрошено подключение.

Возможные причины:
1. неверный дескриптор соединения - тут следует удостовериться, что клиент поднимает правильный tnsnames.ora
по умолчанию он ищется в %ORACLE_HOME%\network\admin, но поиск может быть перенаправлен посредством %TNS_ADMIN% или %TWO_TASK%
2. сервис БД, к которому идет соединение, не работает.
Тут можно посмотреть вывод lsnrctl services на сервере БД и понять, есть нужный сервис в списке или нет.
Или просто попробовать подключиться к той же БД с другого клиента.
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568410
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sanamail,

linux oracle client
может использовать system wide tnsnames.ora
/etc/tnsnames.ora
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568414
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нэймсокопатель,

Если в составе клиента есть sqlplus
попробуй сначало подключиться используя его
Код: plsql
1.
/usr/lib/oracle/10.2.0.5/client/bin/sqlplus -l user/pass@dbserver
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568417
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как написано на офсайте oracle можно создать свой файл tnsnames.ora и экспортировать переменную TNS_ADMIN с присвоенным ей значением пути к файлу

Я так и сделал

export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/client/network/admin:$TNS_ADMIN
[root@uitlinux admin]# echo $TNS_ADMIN
/usr/lib/oracle/10.2.0.5/client/network/admin:

Результат пока тот же(
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568426
SanamailЯ так и сделал

export TNS_ADMIN=/usr/lib/oracle/10.2.0.5/client/network/admin:$TNS_ADMIN

1. Не надо ":$TNS_ADMIN"
2. Результат тот же - надеюсь, в той же консоли, где export?
3. Смотрим лог листенера на предмет "какой sid/service name запросил клиент", сравниваем с написанным в tnsnames.
4. Если п.3 - несовпадение, то в линухе отслеживаем системные вызовы fopen с целью понять какой именно tnsnames читается.
5. Если в п.3 - мир и согласие, то на сервере БД lsnrctl status, lsnrctl services и бежим поднимать упавшую БД
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568457
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,

Друг, ты просто гений) Спасибо, отличный совет
Теперь коннектится и isql и sqlplus

Это только пол дела правда...

Теперь надо программе под вайном как нибудь указать как работать через unixodbc а не через виндовый, у меня рабочий день закончился пора домой, завтра буду продолжать, если будут идеи буду рад попробовать.
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568499
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanamailТеперь надо программе под вайном как нибудь указать как работать через unixodbc а не через
виндовый

Обломись: роутинг в нативные библиотеки из вайна уже выпилили.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568527
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Может тогда какую нибудь старую версию вайна поставить?
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568533
CrazyCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странный изврат - клиент на линуксе а БД под виндой... обычно как-то наоборот :)
и при этом на клиенте пытаться под вайном это поднять...
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568535
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanamailМожет тогда какую нибудь старую версию вайна поставить?

Зачем? И формсам и репорту ODBC не нужен от слова "совсем". Они отлично работают через
родного клиента.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568637
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Расскажи по подробнее а то я может чего-то не понимаю...
Ты имеешь ввиду установить библиотеку odbc32.dll как Стороннюю (Windows) и тогда подключение будет осуществляться через драйвер Microsoft ODBC for Oracle?
Я так пробовал но там ошибки были какие-то... И вычитав где-то на форумах что нужно копать в сторону unixodbc занялся этим, а для этого выставил в вайне odbc32 как нативную
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568641
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanamailТы имеешь ввиду установить библиотеку odbc32.dll как Стороннюю (Windows) и тогда
подключение будет осуществляться через драйвер Microsoft ODBC for Oracle?

Я имею ввиду установить клиента Оракула и подключение будет осуществляться через него,
безо всякого ODBC.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568654
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Так уж написана программа что она подключается через odbc, я это не в силах изменить
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568689
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanamailТак уж написана программа что она подключается через odbc, я это не в силах изменить

Что-то ты путаешь. Формсы по умолчанию подключаются через обычного клиента и чтобы
заставить их работать с ODBC нужно порядочно выкрутиться ужом при запуске. Там в диалоге
логина база указывается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568717
Dimitry SibiryakovФормсы .. подключаются через обычного клиента
Sanamailустановлена самописная прога (Visual Basic)
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39568839
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прочел тред за тебяDimitry SibiryakovФормсы .. подключаются через обычного клиента
Sanamailустановлена самописная прога (Visual Basic)

Тогда не понятно зачем это:
авторНа рабочей станции установлен Wine, в нём установлена самописная прога (Visual Basic) для производственных целей, компоненты оракла для этой проги (Forms runtime, reports runtime, OO4O и прочее) в той же последовательности что ставим на винде


VB может работать через OO4O
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39569134
Sanamail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так ребята, интересный поворот, изменил в wine библиотеку odbc32 на Сторонняя, затем встроенная, и программа заработала, круто, но не работает один компонент программы (телефонный справочник) выдаёт ошибку на скриншоте... Я теоретически думаю что нехватает какойто библиотеки, или компонента программы, может подскажете что посмотреть... Доступ к исходникам программы есть
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39569182
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда-то давно запускали наш виндовый софт под wine. Только он был без odbc. Так вот мы виндовый oracle client ставили в wine, а не пользовались линуксовым. Может тут так же поступить?
...
Рейтинг: 0 / 0
wine + unixodbc + oracle
    #39569186
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OO4O обычно сокращение от Oracle Objects For OLE
к ODBC не имеет никакого отношения

AFAIK
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / wine + unixodbc + oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]