Выбор технологии для работы с БД
От: Diablo_mgn Россия  
Дата: 08.04.03 04:08
Оценка:
Сегодня существует куча всяких технологий для работы с БД — ODBC, DAO, ADO, OLEDB, DirectODBC и еще там куча всяких. Подскажите, какая самая современная, самая гибкая, наиболее популярная, и наиболее перспективная. Или такой нет. С ума можно сойти выбирая. За что браться-то изучать? Я пишу проги на Visual C++, с базами данных работаю с помощью CRecordset, CDatabase, но сейчас уже не хватает их. Например работа с хранимыми процедурами — входные и выходные параметры как их передавать, и как получать. Читал доки, MSDN, хз че поймешь. Кинте ссылочки на хорошие сайты по этой теме, и посоветуйте, чем пользоваться. А то начнешь че-нибудь изучать, а завтра скажут — технология устарела.
Спасибо.

08.04.03 08:27: Перенесено модератором из 'C/C++' в 'Базы данных' — OE
Re: Выбор технологии для работы с БД
От: Merle Австрия http://rsdn.ru
Дата: 08.04.03 06:28
Оценка: 2 (1)
Здравствуйте, Diablo_mgn, Вы писали:

DM> Сегодня существует куча всяких технологий для работы с БД — ODBC, DAO, ADO, OLEDB, DirectODBC и еще там куча всяких. Подскажите, какая самая современная, самая гибкая, наиболее популярная, и наиболее перспективная. Или такой нет. С ума можно сойти выбирая. За что браться-то изучать?

Если бы была одна, самая замечательная, перспективная и вааще, то такого выбора не было бы..
По поводу "ху из ху" из ADO/ODBC/OLEDB/DAO отсылаю тебя к нескольким замечательным сообщениям, древним, как сам форум..
http://www.rsdn.ru/Forum/Message.aspx?mid=10411&only=1
Автор: Dale
Дата: 29.10.01

http://www.rsdn.ru/Forum/Message.aspx?mid=101667&only=1
Автор: Коваленко Дмитрий
Дата: 17.09.02

http://www.rsdn.ru/Forum/Message.aspx?mid=90830
Автор: Awaken
Дата: 27.08.02
(этот тред лучше целиком почитать)

Сейчас вроде бы как все прогрессивное человечество в едином порыве ринулось на ADO.Net, я тоже было ломанулся, но огреб несколько косяков и замер в изумлении...
Теперь вот репу чешу, это сама технология ущербна или пока она просто очень и очень сырая?
Мы уже победили, просто это еще не так заметно...
Re: Выбор технологии для работы с БД
От: Dym On Россия  
Дата: 08.04.03 07:10
Оценка:
Здравствуйте, Diablo_mgn, Вы писали:

DM>Кинте ссылочки на хорошие сайты по этой теме, и посоветуйте, чем пользоваться.

Посмотри здесь
Счастье — это Glück!
Re: Выбор технологии для работы с БД
От: nap2k Верблюд есть
Дата: 09.04.03 06:38
Оценка: +1 -1
Здравствуйте, Diablo_mgn, Вы писали:

>получать. Читал доки, MSDN, хз че поймешь. Кинте ссылочки на хорошие сайты по этой теме, и посоветуйте, чем пользоваться. А то начнешь че-нибудь изучать, а завтра скажут — технология устарела.

DM>Спасибо.

Что выбирать? ADO и все тут.
... << RSDN@Home 1.0 beta 6a >>
Re: Выбор технологии для работы с БД
От: mrhru Россия  
Дата: 09.04.03 07:05
Оценка:
Здравствуйте, Diablo_mgn, Вы писали:

DM> Сегодня существует куча всяких технологий для работы с БД — ODBC, DAO, ADO, OLEDB, DirectODBC и еще там куча всяких. Подскажите, какая самая современная, самая гибкая, наиболее популярная, и наиболее перспективная. Или такой нет. С ума можно сойти выбирая. За что браться-то изучать? Я пишу проги на Visual C++, с базами данных работаю с помощью CRecordset, CDatabase, но сейчас уже не хватает их. Например работа с хранимыми процедурами — входные и выходные параметры как их передавать, и как получать. Читал доки, MSDN, хз че поймешь. Кинте ссылочки на хорошие сайты по этой теме, и посоветуйте, чем пользоваться. А то начнешь че-нибудь изучать, а завтра скажут — технология устарела.


Если в кратце и немного несерьёзно то лучше всего — собственная технология.

Если чуть поподробнее и более серьёзно. На собственном примере.
Для доступа к Interbase использовал (иногда долго, иногда "тока попробовать")
BDE, FreeIB, IBO, IBX, ADO.NET (вроде ничего не забыл).

Переход от одного к другому происходил почти безболезненно — потому что использовал
собственный интерфейс-оболочку над компонентами доступа. В результате, весь
переход, в основном, заключался в учёте особенностей тех или иных компонентов.
И практически, без переписывания программ.
Да, и ещё. И при переносе кода между Delphi<->JScript<->C++<->C# успешно использовал
всё тот же интерфейс.

Именно поэтому, проблема перехода на новые/другие технологии совершенно не беспокоит.

DM>Спасибо.


Не за что.
Унылая, пора...
Re[2]: Выбор технологии для работы с БД
От: Воронков Василий Россия  
Дата: 09.04.03 07:10
Оценка:
Здравствуйте, Merle, Вы писали:

M>Сейчас вроде бы как все прогрессивное человечество в едином порыве ринулось на ADO.Net, я тоже было ломанулся, но огреб несколько косяков и замер в изумлении...

M>Теперь вот репу чешу, это сама технология ущербна или пока она просто очень и очень сырая?

В последних двух выпусках РСДН они вроде неплохо по ней прошлись. По этому поводу хочется даже передалать один старый анекдот:

- Скажите, а сколько памяти нужно АДО.НЕТ для нормальной работы?
— А сколько у тебя есть?


Имхо старое АДО по-прежнему рулит.
Re[3]: Выбор технологии для работы с БД
От: Merle Австрия http://rsdn.ru
Дата: 09.04.03 08:24
Оценка:
Здравствуйте, Воронков Василий, Вы писали:

ВВ>В последних двух выпусках РСДН они вроде неплохо по ней прошлись. По этому поводу хочется даже передалать один старый анекдот:

ВВ>

ВВ>- Скажите, а сколько памяти нужно АДО.НЕТ для нормальной работы?
ВВ>- А сколько у тебя есть?

Уааа-аа!!!!.... "А я не виделаааа-ааа-аа!!!" (c) анекдот
А все лень матушка, никак до ларька дойти не могу, чтобы RSDN Mag купить... И ведь попой чуял, что стОит.
Самому копаться времени нет, и что с глюками делать непонятно...
Мы уже победили, просто это еще не так заметно...
Re[2]: Выбор технологии для работы с БД
От: Diablo_mgn Россия  
Дата: 09.04.03 11:37
Оценка:
Здравствуйте, Merle, Вы писали:

M>Сейчас вроде бы как все прогрессивное человечество в едином порыве ринулось на ADO.Net, я тоже было ломанулся, но огреб несколько косяков и замер в изумлении...

M>Теперь вот репу чешу, это сама технология ущербна или пока она просто очень и очень сырая?

А на чем счас пишешь? На просто ADO?
Просто я люблю контролировать прог8рамму. Я использую CRecordset и CDatabase, сам заполняю CListCtrlы, ошибки обрабатываю. А на АДО как глянул, блин. Пришли ,если есть, пример простенькой проги, чтобы она коннектилась к базе и к табличке обращалась. Есть в АДО аналог RFX процедур?
Re[3]: Выбор технологии для работы с БД
От: Merle Австрия http://rsdn.ru
Дата: 09.04.03 12:40
Оценка:
Здравствуйте, Diablo_mgn, Вы писали:

D_>А на чем счас пишешь? На просто ADO?

На ADO и немного на ADO.NET

D_>Просто я люблю контролировать прог8рамму. Я использую CRecordset и CDatabase, сам заполняю CListCtrlы, ошибки обрабатываю. А на АДО как глянул, блин.

Не боись, не так страшен черт, как его малютка.. Можно и ошибки обрабатывать и в рукопашную все делать и... много чего можно, хотя есть свои особенности конечно...

D_>Пришли ,если есть, пример простенькой проги, чтобы она коннектилась к базе и к табличке обращалась.

Ну вот например:
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")

#include <stdio.h>

void main(void)
{
   CoInitialize(NULL);
   try 
   {
      _ConnectionPtr pConn("ADODB.Connection");
      _RecordsetPtr  pRst("ADODB.Recordset");

      pConn->Open("Provider=sqloledb;Data Source=MyServer;"
         "Initial Catalog=pubs;Integrated Security=SSPI;", 
         "", "", adConnectUnspecified);
// Note 1.
      pRst->Open(
         "authors",
         _variant_t((IDispatch *) pConn, true),
         adOpenStatic,
         adLockReadOnly,
         adCmdTable);
      pRst->MoveLast();
// Note 2.
      printf("Last name is '%s %s'\n", 
            (char*) ((_bstr_t) pRst->GetFields()->GetItem("au_fname")->GetValue()),
            (char*) ((_bstr_t) pRst->Fields->Item["au_lname"]->Value));

      pRst->Close();
      pConn->Close();
   }
   catch (_com_error &e)
   {
      printf("Description = '%s'\n", (char*) e.Description());
   }   
::CoUninitialize();
}

Открою маленький секрет, на сайте MS таких примеров вагон просто..
Вот нужная тебе ссылка: http://msdn.microsoft.com/library/en-us/ado270/htm/pg_ado_programming_5.asp

Вообще если с COM не знаком, то лучше сначало с ним ознакомиться, а потом уже браться за ADO. По поводу COM на этом сайте есть несколько хороших статей.
Мы уже победили, просто это еще не так заметно...
Re[4]: Выбор технологии для работы с БД
От: Diablo_mgn Россия  
Дата: 10.04.03 06:01
Оценка:
Здравствуйте, Merle, Вы писали:


M>Вот нужная тебе ссылка: http://msdn.microsoft.com/library/en-us/ado270/htm/pg_ado_programming_5.asp


Классная ссылка, самое то с чего начать. Спасибо за помощь!
Re: Выбор технологии для работы с БД
От: Аноним  
Дата: 17.04.03 04:27
Оценка:
Здравствуйте, Diablo_mgn, Вы писали:

D_> Сегодня существует куча всяких технологий для работы с БД — ODBC, DAO, ADO, OLEDB, DirectODBC и еще там куча всяких. Подскажите, какая самая современная, самая гибкая, наиболее популярная, и наиболее перспективная. Или такой нет. С ума можно сойти выбирая. А то начнешь че-нибудь изучать, а завтра скажут — технология устарела.

D_>Спасибо.

Я не буду говорить конкретно, в пользу какой либо готовой технологии или самопальной.
Могу только предложить посмотреть все на это с определенной точки зрения.
Введите в свои приложения еще один уровень. Например Приложение<--> Доп. уровень (layer) <--> (ODBC, ADO, DAO, etc.). Тем самаы, Вы, избавляетесь от необходимости переписывать приложение. Но это конечно в идеальном варианте
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.