![]() |
|
![]() ![]() ![]() |
|
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
Скорее всего ответ будет длинным, поэтому согласен на ссылки, тем более думаю, что вопрос возникал не только у меня.
Начальник дает мне задания по обработке (выборка, удаление и пр.) таблиц формата .DBF. С SQL занимаюсь недавно. Делаю следующее: 1. перегоняю таблицы на MS-SQL Server 2000 и с помощью VIEWS // (помогает визуально создавать выборки) и Query Analizer //(проверка работоспособности, кол-ва строк результата и синтаксиса. (Например если вы в QA написали неправильно столбец, вам будет выдано сообщение типа: такого столбца(поля) нет, а если вы такой ляп допустили в Delphi & ADO вым будет написано что-то типа: слишком мало параметров. И сиди думай в чем дело)) выполняю задания. 2. Все запросы из QA естественно сохраняю в файлы. 3. Запускаю Delphi, подцепляюсь через ADO к .DBF файлам и переношу SQL-запросы на ADOCommand или ADOQuery. Делаю прогон Дэлфи матерится на синтаксис. Во-первых в ADO почему то нельзя писать в SQL-коде комментарии (-- или /* */), во-вторых по сообщению об ошибке нельзя понять из-за чего она (см. выше про параметры). ![]() Где можно найти хэлпы по SQL синтаксису в АДО Дэелфи. А то мне пришлось делать на каждую команду таблицу типа: SQL Server UPDATE Vtor SET vtor.four=perv.two/100 from Vtor INNER JOIN Perv ON (Perv.one = Vtor.three) Delphi ADO SQL for .DBF UPDATE "Vtor.dbf" Vtor INNER JOIN "Perv.dbf" Perv ON (Perv.one = Vtor.three) SET vtor.four=perv.two/100 Это еще самая короткая. На перенос каждой команды с SQL Server в АДО убивается по полдня а то и по дню, а время не терпит да еще команд и ситуаций непройденных впереди много. Понимаю, что все команды мне писать никто не будет, поэтому согласен на ссылки ![]() |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 2 Всего: 7 |
У меня была похожая ситуация,...
Так, только я не понял зачем нужно было все перегонять на сервак для отладки? Ну вообщем в моем случае dbf-ные файлы не использовались никем и представляли собой только хранилище данных для обработки поэтому я их конвертнул на СКУЛ сервер 2000 там все сделал и потом обратно. Вот, а еще мне кажется что если подключиться через БДЕ то вот этих вот кавычек писать не придется должно прокатить также как и скуловском запросе только надо чтобы файлы лежали в одной папке. Если я чего недопонял - уточняй. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: нет Всего: 454 |
Вообще-то АДО конкретно до звезды кто его зовет - Дельфа или там еще кто...
Синтаксис АДО не допускает комментариев в теле запроса. Зачем тащить запросы на клиента? оставь их на сервере, строй вьювы и дергай их через АДО... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 2 Всего: 7 |
Кстати, есть еще на скул серваке такая штука как линк сервер т.е. привязываешься к левому источнику данных и работаешь как с скульной базой, только скорость конечно не та. тогда можно скуловские запросы писать на сервер а управлять при этом левыми данными.
не знаю как это будет работать с дбф но с акцессом у меня работало. |
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
[quote] Зачем тащить запросы на клиента? оставь их на сервере, строй вьювы и дергай их через АДО...
Таска заключается в следующем: на предприятии используется прога БЭСТ. В ней чего только нет (сам в ней не юзал, но сказали типа 1С-предприятие). Но вот функции некторые нужные экономическому отделу она не делает, но позволяет делать выгрузку нужных данных в .DBF. Так вот: начальник мне дает задание типа: в этой таблице выбери то, умнож на то в этой таблице, убери одинаковые и выведи в третью (и т.п.) таблицу. Сверь конечные таблицы (свою прогу по обработке она пишет в фоксе) и ежели всё окей - выдай мне экзэшник. Потом этот экзешник отдают в экономический отдел и они раз в месяц или в неделю делают выгрузку из БЭСТА запускают мой экзешник и получают конечный ужный им результат. БЭСТ работает на каком-то Первасиве че это такое я не знаю, поэтому работа с файлами на MS SQL Server нереальна. [quote]Так, только я не понял зачем нужно было все перегонять на сервак для отладки? Повторюсь: VIEWS // (помогает визуально создавать выборки) проверка работоспособности, кол-ва строк результата и синтаксиса. (Например если вы в QA написали неправильно столбец, вам будет выдано сообщение типа: такого столбца(поля) нет, а если вы такой ляп допустили в Delphi & ADO вым будет написано что-то типа: слишком мало параметров. И сиди думай в чем дело Если можно через Query Analizer работать с .dbf не на серваке - подскажи как. |
|||
|
||||
Bes |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 2 Всего: 7 |
Нее.... че такое QA я знаю, просто уточнил.
Короче если твоя прога что-то вроде утилиты, то есть входной файл дбф не юзается никем, выходной файл дбф не юзается никем то делаешь DTS пакеты конвертишь себе на сервер там все перелопачиваешь и конвертишь обратно это можно делать и внешним екзешником. Далее на счет linked servers поискал щас на таком хорошем форуме sql.ru рекомендую кстати нашел кое что, но сам попробовал - не получилось. Получилось только с Акцессом. Вроде QA без сервера не работает - он еще при старте спрашивает куда цепляться. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |