Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизУдаленный доступ к серверу Oracle Найти похожие ветки
← →
vista (2005-12-22 08:49) [0]помогите, у меня вот такая проблема, Delphi стоит на WinXP, с компонентами доступа к Oracle (Direct Oracle Access) , а сам Oracle находится на другой машине под ОС Red Had Linux 9.0. Мне нужно работать удаленно, то есть через локалку с Oracle.
Как это сделать? Дело в том, что когда я соединяюсь с удаленным сервером, то выводится окошко, в котором пишится, что нужна библиотека OCI.dll
Зачем она нужна и где ее достать.
← →
Sergey13 © (2005-12-22 08:59) [1]Клиента ораклового на свою машину поставь.
← →
evvcom © (2005-12-22 09:04) [2]Чего-то я слышал вроде, что DOA работает напрямую с сервером, мимо OCI. Сам ODAC юзаю. Видать деза это была. :)
← →
Sergey13 © (2005-12-22 09:11) [3]2 [2] evvcom © (22.12.05 09:04)
А я слыхал, что это ОДАК так работает. 8-)
← →
evvcom © (2005-12-22 09:14) [4]
> А я слыхал, что это ОДАК так работает.
ОДАК.НЕТ так действительно работает, но я не пробовал включать .НЕТ. Меня (нас) пока и через клиента устраивает.
← →
vista (2005-12-22 10:46) [5]а где достать клиента ораклово? и скоко весить будет?
← →
Sergey13 © (2005-12-22 10:53) [6]2[5] vista (22.12.05 10:46)
Спроси у своего ораклового админа. Он должен знать.
← →
vista (2005-12-26 04:13) [7]При использовании компонента tOraSession у меня возникли проблемы.
У меня вот, что, не получается соединиться с сервером где стоит oracle, хост указываю и порт 1521, выводится "invalid host", хотя хост верный и пингуется, а если поменять порт, то выводится "service not unavailable". В чем дело? может, что то нужно на стороне сервера включить? что именно? Заранее спасибо.
← →
Sergey13 © (2005-12-26 09:07) [8]2[7] vista (26.12.05 04:13)
Клиента то поставил? Сервис связи (файл tnsnames.ora) настроил? Где ты указываешь хост (в ДОА вроде серсил связи указывается)? Как пингуешь?
← →
vista (2005-12-26 09:17) [9]Клиента то поставил?
нет, так придется на все машины ставить...
Как пингуешь?
ping host (так как нет клента oracle)
Сервис связи (файл tnsnames.ora) настроил?
Нет, а что там писать?
Мне нужен прямой доступ к Oracle.
← →
Sergey13 © (2005-12-26 09:26) [10]2[9] vista (26.12.05 09:17)
>>Клиента то поставил?
>нет, так придется на все машины ставить...
Правильно. Еще и сервер не ставь. А то все клиенты его требовать начнут. ОС тоже в общем нафиг не нужна.
← →
ANB © (2005-12-26 09:34) [11]
> vista (26.12.05 09:17) [9]
Если нужен прямой доступ к ораклу, то надо ставить клиента, т.к. этот способ самый прямой и родной. А DOA не умеет к ораклу без клиента подключаться. Это надо ОДАКом пользоваться. Но по отзывам, это хотя и работает, но не всегда.
← →
Dioman © (2005-12-26 10:12) [12]
> vista (26.12.05 09:17) [9]
tnsnames.ora нужно указать TNS name сервера.
YOUR_TNS_NAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(PORT = <port>)(HOST = <host_name>))
)
(CONNECT_DATA =
(SID = <sid>)
)
)
← →
Sergey13 © (2005-12-26 10:18) [13]2[12] Dioman © (26.12.05 10:12)
Что бы "заиметь" tnsnames.ora надо клиента поставить. А это противоречит желаниям автора.
← →
seg (2005-12-26 10:30) [14]Научи пользователей через PL/SQL Developer с базой работать - он без клиента работает (хотя не уверен)
← →
Sergey13 © (2005-12-26 10:31) [15]2[14] seg (26.12.05 10:30)
Он на ДОА вроде написан. Так что вряд ли.
← →
evvcom © (2005-12-26 10:36) [16]
> он без клиента работает (хотя не уверен)
Не уверен, не гони.
← →
dioman © (2005-12-26 10:40) [17]
> vista
тебе необходимо установить клиента.
попытайся избавиться от всего что может припятствовать этому.
имхо работать с библиотеками с автономным клиентом не очень умно.
точнее совсем не умно.
← →
Курдль © (2005-12-26 11:49) [18]
> dioman © (26.12.05 10:40) [17]
> тебе необходимо установить клиента.
> попытайся избавиться от всего что может припятствовать этому.
> имхо работать с библиотеками с автономным клиентом не очень
> умно.
> точнее совсем не умно.
Полностью согласен! Скорее всего, работая без "клиента", Вы лишитесь права на техподдержку оракла и на предъявление к нему каких бы то ни было претензий.
← →
vista (2005-12-27 05:06) [19]Ну короче уже согласен ставить клиета, а при распространении моей проги на другие машины, тоже придется клиента ставить?
а где достать, бесплатного клиета oracle для тестирирования, а то админа у меня нет, сам по себе делаю, короче учусь.
в поисковике ввожу клиент oracle, а там только куча ссылок и больше ничего.
← →
evvcom © (2005-12-27 08:35) [20]
> тоже придется клиента ставить?
ессессно...
> а где достать, бесплатного клиета oracle
А ты сервер с чего ставил? Воткни сидюк оракловой инсталляшки и выбери установку клиента.
← →
vista (2005-12-27 08:52) [21]плохи дела, сервак на Linux стоит, а виндово oracle у меня нет. может подскажите где просто клиента скачать? на сервере стоит oracle 8i, повторяюсь, сервер red hat linux 9.0.
← →
evvcom © (2005-12-27 09:09) [22]Ах, да... Еще же линукс есть...
> а виндово oracle у меня нет. может подскажите где просто
> клиента скачать?
Виндовый у меня 9i сервер, аж на 3 дисках. Вроде есть отдельно дистрибы клиентов. Поисковиком пользоваться умеешь? Или таких зверей как ослик или мул знаешь?
← →
vista (2005-12-27 09:32) [23]искать иголку в стоге сена не всем охота, вот потому и обратился за помощью. ведь битая истина, зачем изобретать велосипед когда он уже есть..
Мастера, скиньте ссылку...
← →
Dioman © (2005-12-27 09:44) [24]
> vista (27.12.05 08:52) [21]
простое решение для винды устанавливаешь на серваке файло клиента (копируешь туда) например в папку oracle,
создаешь reg файл... импортируешь ветку реестра [HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
с машины с установленным как полагается клиентом, конфигурируешь его, правишь пути (например вместо "ORACLE_HOME"="C:\\oracle\\ora92" нужно "ORACLE_HOME"="\\\\server_name\\oracle\\ora92" ... можно посоветоваться с админом на этот счет. Например мой рег файл выглядит следующим образом:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE]
"ORACLE_HOME"="C:\\oracle\\ora92"
"ORACLE_HOME_NAME"="9i"
"NLS_LANG"="AMERICAN_AMERICA.CL8MSWIN1251"
"NLS_DATE_FORMAT"="DD.MM.YYYY"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES]
"HOME_COUNTER"="1"
"DEFAULT_HOME"="9i"
"LAST_HOME"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ALL_HOMES\ID0]
"NAME"="9i"
"PATH"="C:\\oracle\\ora92"
"NLS_LANG"="AMERICAN_AMERICA.CL8MSWIN1251"
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"ID"="0"
"ORACLE_HOME_NAME"="9i"
"ORACLE_HOME"="C:\\oracle\\ora92"
"NLS_LANG"="AMERICAN_AMERICA.CL8MSWIN1251"
теперь при установке твоей проги... для установки клиента просто запустить этот рег файл и все.
и еще одна мелочь:
прописываешь путь с переменной окружения path =
\\server_name\oracle\ora92\bin (ну путь к каталогу bin клиента)... лучше это сделать в бат файле в котором можно также записать ссылку на твою программу (иначе комп будет притормаживать по известным причинам... ну в path сетевой каталог :) но если это терпимо и нормлаьно то можно и не делать этого... короче поэксперементировать можно, у меня так сделано). например:
@echo off
set path=%path%;\\server_name\ORACLE\ORA92\BIN
cd <your_program_path>
start <your_program_exe_file_name>
это все.
← →
Dioman © (2005-12-27 09:45) [25]для линукса наверное по аналогии.
← →
evvcom © (2005-12-27 09:45) [26]ню-ню...
Сейчас мастера за тебя обратятся к поисковикам, и все скопом будут искать для тебя клиента, устанавливать осликов и мулов, делать запросы. Не жизнь, а малина! Ляпота...
← →
roottim © (2005-12-28 11:48) [27]http://www.oracle.com - регистрируйся, качай бесплатно все что тебе надо.
Доступа нет только на металинк. Вот тут нужна лицензия на техподдержку.
А остальное for Development свободно.
← →
vista (2006-01-13 08:45) [28]У меня проблемы с использованием ODAC на Delphi 5
Запуская на стороне сервера команду "lsnrctl" и сразу же запускаю на другой машине
oraSesion1,Connect;
Конектиться удачно, но через некоторое время, точнее через 1 минуту я пытаюсь снова конектиться, но ODAC кричит:
"NET: invalid host" - Что это значит?
Немного покапавшись на сервере, я понял, то есть не совсем понял, так как при запуске
>lsnrctl start
появлюется информация
.............
...........
Services Summary...
PLSExtProc has 1 service handler(s)
oracledb has 1 service handler(s)
The command completed successfully
Доступ с помощью ODAC к oracle есть, но
и через минуту проверяя статус
>lsnrctl status
.............
...........
Services Summary...
PLSExtProc has 1 service handler(s)
oracledb has 1 service handler(s)
oracledb has 2 service handler(s)
The command completed successfully
и после этого доступ к oracle через ODAC невозможен.
Так в чем проблема, что нужно прописать для нормальной работы?
Спасибо заранее всем!
← →
vista (2006-01-18 09:01) [29]Проблема решилась, но хотел бы знать последствия этого решения, не повлияет ли в дальнейшем на работу сервера и его безопасность
Вот решение проблемы:
В файле параметров БД
initoracledb.ora (где oracledb siв DB)
закоментировал вот это строчку
mts_dispatchers = "(protocol=TCP)"
На форуме разработчика компонента описана такая проблема, привожу текст
Вопрос:
__________________________________________________
I am using:
ODAC 5.50 (there was the same problem using version 3.50)
Delphi 5
Oracle 8.1.7 (RH Linux 8.0)
NET-connection (clientless)
On connection I get an exception:
Windows socket error: (10049) on API "connect"
NET: Invalid host
Using firewall, I traced connection port and address:
TCP: 32769
addr: 0.0.0.0
But there are no such problems when I connect to Oracle 8.1.7 installed on Windows box.
________________________________________
А это ответ на проблему
ОТВЕТ:
________________________________________
The problem is in addr: 0.0.0.0. ODAC cannot establish connection to this host. Additionally, some problems may occur when using firewall. Oracle determines arbitrary port number for establishing connection. You must configure MTS dispatcher on Oracle server to use single IP address.
_____________________________
БОЛЬШОЕ СПАСИБО!!!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.013 c