Главная страница
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.104 c
4-42307
sIm-sIm
2003-09-02 16:36
2003.11.13
как можно отследить запущено приложение или нет....?


1-41169
Shadow77
2003-11-03 01:30
2003.11.13
Вот решил классы освоить...


4-42285
Max_
2003-09-11 11:00
2003.11.13
Использование Ram? (Memory usage)


3-40923
Nton
2003-10-19 15:30
2003.11.13
Подскажите как правильно записать?


8-41773
JOV
2003-07-16 06:52
2003.11.13
Сжатие MP3