Delphi→ Взаимодействие Oracle и Delphi
Сен 22, 2010

Для работы с базой данных Oracle наиболее подходящим компонентом является Direct Oracle Access (DOA). После многочисленных неудачных попыток установить этот компонент на используемую мной среду разработки Turbo Delphi Portable (BDS2006), я было отчаялся, и хотел уже устанавливать полную версию Borland Delphi Studio.
Но в конце концов, я одолел установку этого компонента, о чем поведаю вам в этом посте, а в конце статьи вы можете найти ссылки на необходимую IDE и DOA.
Официально стоимость компонента составляла $129 — цена небольшая, если учитывать стоимость базы данных Oracle, но нам нужно «пощупать» компонент и trial версия не для нас. Запускаем установщик doa41d2007.exe, после чего нам предлагают ввести Product Code.
После того, как установщик распакует все файлы и выдаст путь к распакованным файлам, отказываемся от дальнейшей установки. Переходим по указанному пути и копируем содержимое папок Units и Package в директорию Lib вашей среды разработки.
Запускаем Delphi и открываем файл doa41d2006.bdsproj из папки Lib. С правой стороны в Project Manager появится пакет doa41d2006.bpl, нажимаем на него правой кнопкой и выбираем Install. Установка закончена!
Теперь в панели инструментов (компонентов) в разделе Data Access должны появится объекты DOA. Работать с компонентом достаточно просто — можно кинуть на форму объекты, а можно создать их программно — пример такой реализации я покажу далее.
За авторизацию отвечает объект TOracleSession, объект отвечающий за SQL запросы TOracleQuery — их экземпляры мы создадим и настроим.
var
// Объявляем переменные для экземпляров
OraSession: TOracleSession;
OraQuery: TOracleQuery;
implementation
procedure TForm1.Button1Click(Sender: TObject);
var argument: string;
begin
argument := 'admin';
// Создаем экземпляр
OraSession := TOracleSession.Create(Self);
// Устанавливаем параметры
OraSession.LogonUsername := 'login';
OraSession.LogonPassword := 'pass';
OraSession.LogonDatabase := 'database';
// Авторизуемся
OraSession.LogOn;
// Создаем экземпляр
OraQuery := TOracleQuery.Create(Self);
// Связываем экземпляры между собой
OraQuery.Session := OraSession;
// Добавляем строку запроса, где :arg переменная
OraQuery.SQL.Add('SELECT USERNAME FROM USERS WHERE LOGIN=:arg');
// Объявляем переменную arg типа String
OraQuery.DeclareVariable('arg', otString);
// Присваиваем переменной arg значение argument
OraQuery.SetVariable('arg', argument);
// Выполняем запрос
OraQuery.Execute;
// Отображаем значение поля USERNAME
ShowMessage(OraQuery.Field('USERNAME'));
// Освобождаем экземпляр
OraQuery.Free;
// Выходим из сеанса
OraSession.LogOff;
// Освобождаем экземпляр
OraSession.Free;
end;
Скачать doa2006.zip
Похожие статьи:





