Конференция "Базы" » Программа на Delphi в качестве ODBC источника. [D7]
 
  • SkyN (16.04.08 17:24) [0]
    Есть внешняя программа, которая передает данные по ODBC в базу данных. Есть моя программа, которая по 10 раз в сек. делает select из базы, чтобы отследить изменения данных. И есть огромное желание отказаться от СУБД, т.к. кроме тормозов она ни для чего не используется.

    Существуют ли примеры реализации ODBC драйвера на Delphi?
  • Ega23 © (16.04.08 17:27) [1]

    > Есть моя программа, которая по 10 раз в сек. делает select
    > из базы, чтобы отследить изменения данных.


    Для чего? Как часто данные изменяются? Какая СУБД?


    > И есть огромное желание отказаться от СУБД, т.к. кроме тормозов
    > она ни для чего не используется.


    Вообще не понял.


    > Существуют ли примеры реализации ODBC драйвера на Delphi?


    Я в этом очень сильно сомневаюсь, у Delphi несколько другая ниша.
  • Игорь Шевченко © (16.04.08 17:46) [2]

    > Существуют ли примеры реализации ODBC драйвера на Delphi?


    да, существуют.
    Но чем оно тебе поможет - я, честно говоря, не вижу
  • SkyN (16.04.08 17:51) [3]

    > Для чего? Как часто данные изменяются? Какая СУБД?

    Для управления клапаном.
    До 10 раз в секунду, но могут не меняться часами. В таблице ~600 строк, 2 поля: ключ-значение. Идут Insert, Update, Delete.
    Сейчас MSSQL, но СУБД не принципиальна, т.к. используется только как интерфейс между внешней и моей программой (1 база с 1 таблицей), подошла бы любая знающая про ODBC.

    > Вообще не понял.

    Хочется напрямую получать информацию из внешнего приложения выступая для него ODBC источником.
  • Reindeer Moss Eater © (16.04.08 18:04) [4]
    выступая для него ODBC источником

    чууумаааа .....
  • Reindeer Moss Eater © (16.04.08 18:07) [5]
    ну создай ему одбс источник, заточенный как бы на мсскл на твоей машине.
    запускайся, открывай порт и прикидывайся эмэсэскьюэлем.
  • SkyN (17.04.08 10:53) [6]
    Reindeer Moss Eater, вы предлагаете выступать СУБД для ODBC драйвера. я же хочу выступать в роли ODBC драйвера, причем с очень обрезанным функционалом, заточенным под конкретное приложение.
  • Сергей М. © (17.04.08 11:12) [7]

    > Для управления клапаном


    > Insert, Update, Delete


    Любопытно, как изменения упомянутых табличных данных кореллирует с управлением клапаном ...
  • SkyN (17.04.08 11:30) [8]

    > Любопытно, как изменения упомянутых табличных данных кореллирует
    > с управлением клапаном ...

    Из таблицы берем значение по ключу select Value where key='temperature' и подставляем в формулу. Если значения нет, то расчет новой степени открытия клапана не производим. Если степени открытия изменилась, отправляем команду клапану.
    Расчет и отправка команды клапану производится в программе написанной на Delphi. А вот данные о температуре и ещё ~600 параметров приходят по ODBC в MSSQL.
  • Сергей М. © (17.04.08 11:40) [9]
    Понятно.

    А собссно где, на каком этапе этой схемы и при каких условиях наблюдаются "тормоза", которые тебе не дают покоя ?
  • Reindeer Moss Eater © (17.04.08 11:42) [10]
    А не проще повесить триггера на таблицу и написать xp для взаимодействия со своей программой?
  • Сергей М. © (17.04.08 12:06) [11]

    > Reindeer Moss Eater ©   (17.04.08 11:42) [10]


    Его ж тормоза заботят ..

    Тут либо СУБД-сервер не отконфигурасили должным образом либо менять его надо, если это возможно (и похоже что возможно, судя по вышеизложенному). На тот же Мускул, к примеру
  • Кщд (17.04.08 13:22) [12]
    >SkyN   (16.04.08 17:24)
    >Есть моя программа, которая по 10 раз в сек. делает select из базы, чтобы отследить изменения данных.
    предложенный вариант с триггерами решает эту проблему
    а Ваши "10 раз в сек." только создают доп. нагрузку на сервер, но проблему отслеживания изменений не решают
  • SkyN (17.04.08 15:34) [13]
    Наверное буду делать dll с Extended Stored Procedure для mssql, котороя будет оповещать приложение.
  • Сергей М. © (17.04.08 16:21) [14]

    > SkyN   (17.04.08 15:34) [13]


    Если ничто не мешает перейти на FB, то там можно обойтись без заморочек с dll - вохможность нотификации клиентов встроена прямо в PSQL
  • Виталий Панасенко(дом) (17.04.08 16:56) [15]

    > Сергей М. ©   (17.04.08 16:21) [14]
    >
    >
    > > SkyN   (17.04.08 15:34) [13]
    >
    >
    > Если ничто не мешает перейти на FB, то там можно обойтись
    > без заморочек с dll - вохможность нотификации клиентов встроена
    > прямо в PSQL
    >

    Вот только, работает ли это через ODBC....Кажись, нет
 
Конференция "Базы" » Программа на Delphi в качестве ODBC источника. [D7]
Есть новые Нет новых   [134432   +19][b:0][p:0]