Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

ODBC - как оно пашет   Найти похожие ветки 

 
gag   (2003-10-25 13:05) [0]

Приветствую, Мастера. Есть проект движка баз данных (СУБД). Ну и значит, пока проект на доэмбриональной стадии (легко изменения вносить принципиальные), хочу добавить в структуру движка ODBC-элементы (шоб например в акцессе таблицу на моей субде сделаную можно было юзать, и наоборот). Вы на речевые обороты не смотрите, я серьёзно к этому проекту отношусь - это может стать моим дипломным проектом.


 
kaif ©   (2003-10-25 13:23) [1]

Найди спецификацию по ODBC. Список функций, которые драйвер должен поддержать и пиши свой драйвер. Но это не такая простая задача, как может показаться. Нужно поддержать достаточно большой список функций (весь ANSI-92 SQL), к тому же работу с метаданными. ODBC работает так. Есть так называемый источник данных DataSource (аналог алиасов BDE). Это вообще-то текстовый файл с параметрами соединения (какой драйвер вызвать, гда база лежит и т.п.). Клиент обращается к системе ODBC , сообщив, с каким источником он хочет связаться, и система ODBC вызывает соответствующий драйвер. Далее клиент вызывает функции ODBC (это просто некоторое API), которые та далее вызывает из драйвера и драйвер должен суметь их выполнить. Это может быть, например, функция, делающая SQL-запрос SELECT. Как ты понимаешь, нужно суметь его отработать в твоей СУБД, организовать память под результирующий набор и поддержать вызов функций FETCH, которые этот набор дальше будут извлекать построчно. Чтобы не потерять контекст, в ODBC существует что-то типа сессиий (как в BDE). сейчас я уже не помню, но в книжках по ODBC описана последовательность, в которой нужно вызывать функции, чтобы открыть сессию, сделать какие-то дела и закрыть сессию.
В общем, без книжки никуда не денешься.


 
kaif ©   (2003-10-25 13:30) [2]

Вот, нашел. У меня тут книжка есть "Использование ODBC для доступа к базам данных" Роберт Сигнор, Михаэль О.Стегман, 1995. Изд-во "Бином".
Да, забыл сказать. ODBC Поддерживает такую вещь, как выяснение возможностей драйвера. Есть функция SQLGetInfo, которая возвращает клиенту (пользователю) информацию о том, какие ты SQL-операторы поддерживаешь и в какой степени. Никто не поддерживает все операторы. Начни с того, чтобы разобраться в этой функции и в том, как драйвер сообщает ей свои возможности.


 
gag   (2003-10-26 13:46) [3]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
6-41814
SergP
2003-09-15 13:11
2003.11.13
Как работать с SOCKS?


3-40846
Alex-kosmonavt
2003-10-21 16:43
2003.11.13
Как удалить


1-41568
senya
2003-10-27 15:32
2003.11.13
DBGrid - одна строка в нескольких


1-41239
dream
2003-11-01 09:42
2003.11.13
Поиска файлов в директории


1-41173
ARTEMKA
2003-11-03 00:51
2003.11.13
Невидимая панель