Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.09.2011, 14:03
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию Подключение к Oracle

приветствую всех

у меня глупый вопрос:

есть база, есть паролИ, есть username
но как сделать подключение если у меня три базы и три разных пароля?
(компоненты Devart ODAC v6.90.0.57)

как подключаюсь:
Код:
Form1.OraSession1.Connected:=false;
Form1.OraSession1.UserName:='name';
Form1.OraSession1.Password:='pas1';
Form1.OraSession1.Server:='server';
Form1.OraSession1.Connected:=true;

а вот как подключится проверяя каждый пароль из трех?
и при удачном подключени перейти к отправке запроса

я торможу...
Ответить с цитированием
  #2  
Старый 20.09.2011, 15:23
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию

вариант с кучей ifов не подходит:
Код:
     if Form1.OraSession1.Connected=false then
      begin
       Form1.OraSession1.Connected:=false;
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas1';
       Form1.OraSession1.Server:='server';
       Form1.OraSession1.Connected:=true;
      end;
     if Form1.OraSession1.Connected=false then
      begin
       Form1.OraSession1.Connected:=false;
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas2';
       Form1.OraSession1.Server:='server';
       Form1.OraSession1.Connected:=true;
      end;
     if Form1.OraSession1.Connected=false then
      begin
       Form1.OraSession1.Connected:=false;
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas3';
       Form1.OraSession1.Server:='server';
       Form1.OraSession1.Connected:=true;
      end;
if проходит быстрее чем подключение и connected всегда =false
мне нужно более надежное решение
Ответить с цитированием
  #3  
Старый 20.09.2011, 16:59
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

вместо OraSession1.Connected:=true используй OraSession1.Connect;

Что за модная программа которая одновременно коннектится к 3 серверам? Может проще oracle dblink юзать?
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #4  
Старый 20.09.2011, 17:48
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию

я не знаю dblink, но меня компоненты от devart.com полностью удовлетворяют (прямое подключение к Oracle, MySQL, я с ними только работаю)
а к трем серверам одновременно мне не надо, я последовательно подключаюсь сначала к одному, потом ко второму итд
но пароли разные (всего три пароля, серверов 23)
вот мне и нужно перебирать пароли, и когда Connected наконец-то True. отправить запрос
Ответить с цитированием
  #5  
Старый 20.09.2011, 19:14
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию

сделал, позже скину
Ответить с цитированием
  #6  
Старый 21.09.2011, 12:59
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию

вот так заработало:

Код:
     Form1.OraSession1.Connected:=False;

     try
     if Form1.OraSession1.Connected=False then
      begin
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas1';
       Form1.OraSession1.Server:='server';
      end;
     Form1.OraSession1.Connect;
     except
     end;

     try
     if Form1.OraSession1.Connected=False then
      begin
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas2';
       Form1.OraSession1.Server:='server';
      end;
     Form1.OraSession1.Connect;
     except
     end;

     try
     if Form1.OraSession1.Connected=False then
      begin
       Form1.OraSession1.UserName:='name';
       Form1.OraSession1.Password:='pas3';
       Form1.OraSession1.Server:='server';
      end;
     Form1.OraSession1.Connect;
     except
     end;
Ответить с цитированием
  #7  
Старый 21.09.2011, 13:17
KristoferRuotsi KristoferRuotsi вне форума
Прохожий
 
Регистрация: 14.05.2011
Сообщения: 36
Репутация: 10
По умолчанию

я не помню можно или нет...
поделюсь: _https://rapidshare.com/files/3241880791/MyDAC_ODAC.zip

Delphi7
MyDAC v5.90.0.57
ODAC v6.90.0.57

Последний раз редактировалось KristoferRuotsi, 21.09.2011 в 13:23.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter