Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenman2 Ggg_old некоторые оговорки Вложенный SQL плохо (отвратительно) реализован в MSSQL, Sybase ASE, PostgreSQL, MySQL(нет вообще). Про Sybase ASA - ничего не могу сказать (не смотрел) но думаю ASA не далеко ушла от ASE . Относительно приемлемо реализован а Oracle, и нормальня реализация - только в DB2.Раз не можете сказать, так и не говорите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 14:59 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
а мааааленький такой пример кода приведи?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 15:00 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenman Вложенный SQL плохо (отвратительно) реализован в MSSQL, Sybase ASE, PostgreSQL, MySQL(нет вообще). Про Sybase ASA - ничего не могу сказать (не смотрел) но думаю ASA не далеко ушла от ASE. Относительно приемлемо реализован а Oracle, и нормальня реализация - только в DB2. Что за хрень?! А почему, к примеру, про InterBase не упомянули? Там тоже разбираться нужно, сразу не запустишь! :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 15:12 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
к сожалению ни разу в жизни FB или Интербейз не ставил... руки не дошли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 15:17 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenmanа мааааленький такой пример кода приведи?... Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 17:01 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
не-а не пойдет... приведи примерчик полностью, как полагается, с объявлением переменных (их типов), с возвратом итоговой выборки... чтоб был полностью весь код виден. Я ж тоже могу написать: Par=10; EXEC SQL CALL MyProc(:Par); Не страшнее вашего получится. Реально - нужен примерчик покрупнее. Чтоб было что сравнивать. Мне что, придумать тестовое задание что-ли?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 17:16 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Ну, тебе и привели код. Что, нужно было указать объявление TADOStoredProc? Инициализацию его, причем обязательно в рантайме? Или код коннекта к базе? Или сам код ХП? Или весь фреймворк - со схемой организации доступа клиента к базе? Я могу привести тебе код работы в ECO: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 17:33 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
авторне-а не пойдет... приведи примерчик полностью, как полагается, с объявлением переменных (их типов), с возвратом итоговой выборки... чтоб был полностью весь код виден. Это и есть весь код :)) Это же Дельфи - там все само делается, компонентами :)) Ну еще я перед этим в свойство sql пропишу: Код: plaintext Код: plaintext 1. 2. 3. 4. Чего там, в MyStoredProc, делается, клиента не касается. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 17:35 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Кто-нить покажет как в дельфях проволятся операции с блобами? Ну там - вставить в табличку запись с полем BLOB или вытащить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:06 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Ну вытащить то каие проблемы? Пиши в select нужное поле - оно и приедет в Дельфу. Дальше делай, чего хочешь. А если сохранить на сервер, то вот тут: Как добавить картинку в базу данных? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:13 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenmanКто-нить покажет как в дельфях проволятся операции с блобами? Ну там - вставить в табличку запись с полем BLOB или вытащить? Т.е. насчет передачи обычных переменных через параметры Вы убедились что сложностей нет? Про БЛОБы ничего не могу сказать, не работал, но думаю и там не намного больше писать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:25 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Однако как апетиты растут :) 15:00 gardenman А каким образом передаются параметры для ХП? а каким образом возвращаются? а мааааленький такой пример кода приведи?... 17:16 gardenman Реально - нужен примерчик покрупнее. Чтоб было что сравнивать. Мне что, придумать тестовое задание что-ли?... 18:06 gardenman Кто-нить покажет как в дельфях проволятся операции с блобами? Ну там - вставить в табличку запись с полем BLOB или вытащить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:30 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
2 SergSuper Та какие там апетиты?))... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:35 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
2gardenman: Промежуточный итог. Если с БД можно работать в стиле TDatabase.connect TQuery.SQL="select ..." a=TResultSet.Field['field_name'] Причем без разницы, как будет называться фреймворк, который обеспечивает это (BDE, ADO), то ни один разработчик не будет работать с БД в стиле: -написать промежуточный cxx код -прогнать его через макрокомпилятор -почитсить глюки с помощью батничка -забинидить bnd файл на SQL сервер и.т.д как вы написали в http://]www.sql.ru/forum/actualthread.aspx?tid=91031 Когда я предлагал создать этот топик очень надеялся, что появится человек, который объяснит инженерным языком, в каких случаях и на каких задачах более сложное программирование на EmbedSQL оправдано. Я действительно не понимаю, зачем писать на EmbedSQL, при наличии более человеческого способа работы с базой. И судя по всему остальный считают также (ИМХО). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 18:49 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
two-phase транзакции можно писать на этом вашем ADO? например, я хочу записать 1 строку в DB2, одну в Oracle, одну в MSSQL, ну и так далее, в одной транзакции. Например, с TXSeries. на ESQL я этот трюк делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 20:21 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Есть еще одна фича в ESQL. Она называется COMPOUND SQL. Это нечто среднее между SQL c рабочей станцией и хранимой процедурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 20:58 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
NewYeartwo-phase транзакции можно писать на этом вашем ADO? например, я хочу записать 1 строку в DB2, одну в Oracle, одну в MSSQL, ну и так далее, в одной транзакции. Например, с TXSeries. на ESQL я этот трюк делал. И кто координатором распределённой транзакции выступал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 23:13 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenmanЕсть еще одна фича в ESQL. Она называется COMPOUND SQL. Это нечто среднее между SQL c рабочей станцией и хранимой процедурой. Если ESQL реализуется посредством препроцесоора, то кто помешает выполнить ту же задачу без препроцессора, с использованием любой технодогии доступа к СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2005, 23:16 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
2 gardenman >Вложенный SQL плохо (отвратительно) реализован в MSSQL, Sybase ASE, PostgreSQL, MySQL(нет вообще). Про Sybase ASA - ничего не могу сказать (не смотрел) но думаю ASA не далеко ушла от ASE. Относительно приемлемо реализован а Oracle, и нормальня реализация - только в DB2. А поподробнее можно? Я работал с вложенным скл-ем в АСА, постгре, оракле и ДБ2, правда не очень много, и существенных различий не обнаружил. Как мне показалось тут основная проблема проблема не в СКЛ сервере, а в проблемах реализации связки СКЛ<->процедурный_язык, в данном случае С. Кстати та же проблема в языках типа Т-СКЛ: все хорошо пока не начинаешь работать с курсорами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 04:50 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Ggg_oldКогда я предлагал создать этот топик очень надеялся, что появится человек, который объяснит инженерным языком, в каких случаях и на каких задачах более сложное программирование на EmbedSQL оправдано. Я действительно не понимаю, зачем писать на EmbedSQL, при наличии более человеческого способа работы с базой. И судя по всему остальный считают также (ИМХО). ESQL очень даже удобно, код гораздо читабельней, чем через компоненты, плюс во время его компиляции ESQL сразу же проверяется на сервере, параметры легко передавать, получать прямо в переменные, обьявленные в коде, легко вызывать ХП, организовывать локальные курсоры по полученным наборам данных с запросов и ХП, и т.д. Все это, например, есть в PowerBuilder, причем в нем ESQL не заточен под определенную СУБД, а работает под поднятой сверху сессией/сессиями, которые могут идти через ODBC, ADO, OLEDB, ADO.NET, JDBC, ... gardenmanВложенный SQL плохо (отвратительно) реализован в MSSQL, Sybase ASE, PostgreSQL, MySQL(нет вообще). Про Sybase ASA - ничего не могу сказать (не смотрел) но думаю ASA не далеко ушла от ASE. Относительно приемлемо реализован а Oracle, и нормальня реализация - только в DB2. Сам я с реализацией ESQL в ASA не работал, так как считаю дурным тоном рисовать клиентские мордочки на C, но думаю что судя по описаниям ESQL и примерам кода в BOL, его реализация в ASA более чем удовлетворительная ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 06:04 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
tygraЭто же Дельфи - там все само делается, компонентами :)) Не надо о грустном Тут маааленький UDP сервер писал на Delphi. После этого решил для себя больше никогда не использовать эти клятые компоненты. Легче самому с WinSock-ом работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 08:03 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Не надо о грустном Тут маааленький UDP сервер писал на Delphi. После этого решил для себя больше никогда не использовать эти клятые компоненты. Легче самому с WinSock-ом работать. Правильно! Это же ДЕЛФИ. Тут каждый делает как ему нравится. Posted via ActualForum NNTP Server 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 09:37 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
2 c127 >А поподробнее можно? Я работал с вложенным скл-ем в АСА, постгре, оракле и ДБ2, правда не очень много, и существенных различий не обнаружил. Различия очень существенные. Особенно это касается где и как объявлять хост - переменные. Например в DB2 это могут быть ссылки и указатели, которые могут быть членами классов. К тому же, результат обработки препроцессором - совершенно разный. Где-то просто получается динамический SQL (PostgreSQL) а где-то - хранимая процедура специфического вида (Sybase ASE). У DB2 (как правило) - получается статический SQL с уже предопределенным планом запроса. Скорость выполнения выше в разы. Вот и получается, что статический SQL помноженный на производительность C++ - дает бешенную производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 10:14 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
>И кто координатором распределённой транзакции выступал? TXSeries ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 10:39 |
|
||
|
Подходы к созданию приложений для СУБД: Embedded SQL против других способов
|
|||
|---|---|---|---|
|
#18+
gardenmanУ DB2 (как правило) - получается статический SQL с уже предопределенным планом запроса. Скорость выполнения выше в разы. Вот и получается, что статический SQL помноженный на производительность C++ - дает бешенную производительность. Вы уже не впервый раз сохранение плана запроса при компиляции ХП выдаете за этакое преимущество, что вот мне совершенно не понятно. Есть у меня БД девелоперов, она находится в разработке и содержит достаточно небольшое кол-во тестовых данных, охватывающих различные аспекты ТЗ с целью наиболее удобного тестирования бизнес-логики. После проведения изменений в ней корректирующие SQL скрипты уходят на консолидированную БД с требованием выполнится на ней и всех удаленных узлах (БД). Естественно консолидированная БД содержит информацию всех узлов. Далее после проведения сеанса репликации каждый удаленный узел так же получает корректирующий скрипт и выполняет его, помимо обычного сеанса приема/передачи изменений данных. Узлов у нас например 500. Все идут через оффлайн (почта, ftp, файловый обмен - без разницы). На каждом узле информация, принадлежащая только ему. Соотвествующе на одном узле большая БД, на другом крохотная, на одном например стоит навороченный сервер под UNIX, на другом обычный PC с W2K Prof. Внимание вопрос - это интересно как же это при компиляции ХП на девелоперской БД с учетом ее "левых" данных мы обеспечим бешеную производительность для консолидированной БД и ее удаленных узлов ? Божьим духом, принудительной перекомпиляций скриптом или запиской для "опытных" пользователей - типа войди и перекомпилируй и будет тебе счастье (причем на Си) ? Мне кажется привязка планов к ХП есть зло, нормальная РСУБД должна сама соображать, какие планы для текущей БД на текущей момент времени оптимальны, автоматом вести статистику, корректируя ее по мере необходимости, наилучшие планы запросов не только кидать в кэш, но и записывать с кешем в БД для быстрого их подьема для быстрого рестарта сервера, а так же иметь эвристический анализатор, у которого хватает ума усомнится в актуальности "наилучших" планов и не поленится заново понастроить планы и сравнить их с используемыми, чтобы в случаях резкого изменения содержания информации (например массовый подлив данных), не просесть в лужу. Во всяком случае в Sybase ASA все это делается автопилотом, если у меня оптимизатор правильно "понимает" как я связываю в сложных запросах и в наличие удобные индексы, то это его уже проблемы, какие он планы будет строить и что там будет использоваться. Кстати все вышесказанное к Sybase ASA в полной мере относится и к серверу Sybase IQ, который в отличие от ASA, заточеннуб для SMB, "ориентирован" на нулевое администрирование аналитических БД больших обьемов. Так что пожалуйста уж поясните свои высказывания, почему круто писать ХП на Си, да еще и компилировать прямо в них планы запросов ? В плане скорости я отметаю сразу - в ASA например планы ХП компилируются при первом к ним обращении после запуска сервера (если их еще нет в сохраненном кэше), причем они не привязываются к ХП, а висят как просто планы к запросам, которые вызываются в том числе и из ХП. Время построения плана запросов занимает миллисекунды (если конечно не вывести уровень компиляции с нормального 9-ого уровня на максимальный 15, что уже будет соотвествовать полному перебору всех возможных видов планов запросов) - так что проблем со скоростью построения планов лично я ни разу не наблюдал, у Watcom всегда были неплохие скорости в различных решениях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=35&msg=33009465&tid=1553900]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 180ms |
| total: | 301ms |

| 0 / 0 |
