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
Похожие статьи: