Меня вполне ODBC-драйвер с сайта FireBird устраивает. С учетом того
что чаще всего у меня нет ни сил, ни времени заниматься обустройством
клиентов в количестве эдак штук 60, у каждого своя бухгалтерия и все
что прилагается. А вариант с работой через запросы он привычнее.

Connect:
  БД=CreateObject("ADODB.Connection");
  БД.ConnectionString =
            "DRIVER=Firebird/InterBase(r) driver;" +
            "PWD=" + ПарольПользователя + ";" +
            "UID=" + ИмяПользователя +  ";" +
            "DBNAME=" + ИмяБД;

  БД.Open();

SELECT:
  Запрос=СоздатьОбъект("ADODB.Recordset");
  Запрос.ActiveConnection = БД;
  Запрос.Source = "select bla-bla-bla";
  Запрос.Open();

  Пока Запрос.Eof()=0 Цикл
        Сообщить(Запрос.Fields(0).Value);
  КонецЦикла;
  Запрос.Close();

Execute:
  Запрос=СоздатьОбъект("ADODB.Command");
  Запрос.ActiveConnection = БД;
  Запрос.CommandTimeout=60;
  Запрос.CommandText = "DELETE FROM GOODS WHERE COD = 2";
  Запрос.Execute();


Вот вроде бы и все. По скорости проигрыша нет. Гемороя мало. А там уже
крутить можно как хочешь.

P.S. Как-то для развлекаловы делал выборку и заброску в 1С-овскую
ТаблицуЗначений большого списка (для 1С большого, 60 тыщ позиций для
ТаблицыЗначений это обычно лишнее, полный справочник). Нормально
получилось, и сам запрос, и скорость обработки была достаточно
приближена к Дельфевой проге, и скорость работы. Так что чем мучаться
с обертками всякими, почему бы не посмотреть в сторону ODBC? Хотя
можно вообще запутить и внешнюю компоненту для подключения к базе, но
зачем есть есть вариант проще и его может хватить?

------
Андрей Кручинин,
http://www.med-zakaz.ru

Ответить