Форум: "Базы";
Текущий архив: 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