Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.02;
Скачать: CL | DM;

Вниз

ODAC и TNSNAME   Найти похожие ветки 

 
alsov ©   (2007-10-05 11:56) [0]

Приветствую, Мастера

Вопрос к знатокам ODAC компонентов.
Нужно сделать следующее:
При прямом подключении TOraSession.Options.Net := True нужно чтобы параметр Server вычитывался  стандартными средвствами оракла из tnsnames.ora, а не задавался черел server:port:sid

Возможно ли такое?
Заранее благодарен за ответы


 
Petr V. Abramov ©   (2007-10-05 13:08) [1]

Если на машине есть "стандартные средства" и tnsnames, зачем прямое подключение?


 
alsov ©   (2007-10-05 15:13) [2]


> Petr V. Abramov ©   (05.10.07 13:08) [1]


На машинах установлен клиент 8-го оракла (использеут другой софт), где не поддерживается передача блобов параметром в хранимую процедуру, грит надо 8i. С использованием net работает на ура.

Есть желание заказчика получать адрес сервера с ораклового неймсервера.


 
Petr V. Abramov ©   (2007-10-06 01:00) [3]

> получать адрес сервера с ораклового неймсервера.
загнул
это уже протокол TNS копать надо, по-моему, даже в OCI такого нет.
хотя можно попробовать инициализировать хендлы и посмотреть их атрибуты. Подробнее завтра посмотрю, но ковырять-пробовать - Вам


 
Petr V. Abramov ©   (2007-10-06 01:03) [4]

> На машинах установлен клиент 8-го оракла
так к какому Oracle надо коннектиться?


 
alsov ©   (2007-10-08 10:32) [5]

Сори что долго не отзывался.


> Petr V. Abramov ©   (06.10.07 01:00) [3]
>
> > получать адрес сервера с ораклового неймсервера.
> загнул
> это уже протокол TNS копать надо, по-моему, даже в OCI такого
> нет.


Может неправильно выразился - надо напрямую подцепиться к серверу, зная только tnsname.


> так к какому Oracle надо коннектиться?

Сервер 9-й


 
Sergey13 ©   (2007-10-08 10:46) [6]

> [5] alsov ©   (08.10.07 10:32)

Ну а если решать в лоб - парсить server:port:sid из tnsnames.ora? Синтаксис у файла довольно жесткий.


 
alsov ©   (2007-10-08 11:23) [7]


> Ну а если решать в лоб - парсить server:port:sid из tnsnames.
> ora? Синтаксис у файла довольно жесткий.


Не подойдет. Т.к. сервер может быть прописан как напрямую в tnsnames, так и в sqlnet.ora адрес неймсервера


 
Sergey13 ©   (2007-10-08 11:25) [8]

> [7] alsov ©   (08.10.07 11:23)

Ну, тогда спросить у пользователя 1 раз и запомнить в инишнике. 8-)


 
alsov ©   (2007-10-08 11:33) [9]


> Sergey13 ©   (08.10.07 11:25) [8]

На этом способе и остановился. При установке будут адрес указывать и в настройки программы вынес в интерфейсе.

Вобщем крутил-вертел - ничего не вышло с подключением через стандартные средства, а работой напрямую. Видимо невозможно такое реализовать. А жаль :(


 
evvcom ©   (2007-10-08 15:15) [10]


> Видимо невозможно такое реализовать.

Не люблю такие слова: "невозможно", "нельзя". В самом ODAC есть функционал парсинга tnsnames.ora. Посмотри ConnectDialog.GetServerList, эта функция как раз и раскручивает список серверов из tns. Мне сейчас лень опять это ковырять, но я на основе этого писал приблуду для частичного обновления/добавления строк в пользовательском tnsnames на основе серверного файла.


 
alsov ©   (2007-10-08 16:31) [11]


> evvcom ©   (08.10.07 15:15) [10]

Спасибо - буду копать в этом направлении


 
Petr V. Abramov ©   (2007-10-09 17:22) [12]

evvcom ©   (08.10.07 15:15) [10]
так человеку ж надо с nameserver`a sid получать, а не из tnsnames.
api взаимодействия с nameserver`ом нужно.


 
evvcom ©   (2007-10-10 09:01) [13]


> Petr V. Abramov ©   (09.10.07 17:22) [12]

существует 2 разных его "надо":
[0]

> чтобы параметр Server вычитывался  стандартными средвствами
> оракла из tnsnames.ora

и

> alsov ©   (05.10.07 15:13) [2]
> Есть желание заказчика получать адрес сервера с ораклового
> неймсервера

короче, хз, какое из этих "надо" правильное, я подумал, что его устроит вариант с tnsnames


 
alsov ©   (2007-10-10 15:36) [14]

to_all
Может неправильно выразился.
Надо получить параметры сервера стандартными методами, т.е. если в tnsnames нет - смотреть неймсервер.

В одаке нашел в OdacGui.inc функцию GetOraServerList, но она парсит tnsnames.ora


 
evvcom ©   (2007-10-11 09:47) [15]


> GetOraServerList, но она парсит tnsnames.ora

ну а большего я тебе и не обещал :)
если мало, тогда [12], ищи инфу. А вообще, я бы, наверное, забил. Выставь заказчику калькуляцию на чтение неймсервера на огромную сумму и приличные сроки выполнения, и он откажется от этой идеи :)


 
alsov ©   (2007-10-11 16:30) [16]


> А вообще, я бы, наверное, забил.


Так и сделал :)
Прямое подключение предпочтительней, а оно не предусматривает общения с OCI.


 
Petr V. Abramov ©   (2007-10-11 23:08) [17]

> evvcom ©   (11.10.07 09:47) [15]
использование неймсервера - часто идея здравая.
> alsov ©  
по-хорошему надо думать насчет повышния версии клиента, а то Direct Mode не поддерживает некоторые фичи 10-ки. Это к примеру.


 
alsov ©   (2007-10-15 11:39) [18]


> по-хорошему надо думать насчет повышния версии клиента,
> а то Direct Mode не поддерживает некоторые фичи 10-ки. Это
> к примеру.

Заказчику это неприемлимо :), да и сервер у них на 9-ке и переходить не собираются.
А клиент-восьмерка, причем обрезаная до "мама не балуйся" (для спец софта установлена).
Пробовали ставить 10-ку - софт не работает с 10-м клиентом :), поэтому прямое подключение.



Страницы: 1 вся ветка

Текущий архив: 2008.03.02;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.022 c
15-1201695995
чувак
2008-01-30 15:26
2008.03.02
Подключение железки к COM порту


2-1202134325
alexsashkan
2008-02-04 17:12
2008.03.02
Проблема с выборкой из базы


8-1174354813
DDDeN
2007-03-20 04:40
2008.03.02
Передать аудио-поток на IceCast


2-1202575958
88Lion88
2008-02-09 19:52
2008.03.02
Обращение к ячеке Excel delphi


15-1201602429
hahol_64_rus
2008-01-29 13:27
2008.03.02
FastReport и Fireberd