Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.042 c
15-1199989377
turbouser
2008-01-10 21:22
2008.03.02
Ищу работу


2-1201951880
Sten
2008-02-02 14:31
2008.03.02
Скролбары


2-1202288543
9899100
2008-02-06 12:02
2008.03.02
запятая в строке в операторе insert


2-1202207209
Igora
2008-02-05 13:26
2008.03.02
Найти часть строки в StringList


15-1201506814
toto
2008-01-28 10:53
2008.03.02
ASP3





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский