|
1 / 1 / 0
Регистрация: 17.10.2007
Сообщений: 72
|
|
Создание хранимых процедур17.10.2007, 11:22. Показов 2767. Ответов 9
Метки нет (Все метки)
Здравствуйте!
Возник следующий вопрос. Возможно ли написание собственных хранимых процедур в какой либо среде для создания Баз Данных. Т.е. создание Баз Данных из которых данные получаются посредством хранимых процедур. Поясню для чего это нужно. В данный момент я пользуюсь OLAP системой 'Контур Стандарт' от компании Intersoft Lab, в ней предусмотрен анализ трех типов данных: 1) Данных, полученных с помощью хранимых процедур (не SQL) головной Базы Данных 2) Данных полученных из связных таблиц 3) Данных полученных из локальных таблиц Последние два пункта соответствуют анализу последней версии выборки данных, которые со временем устаревают, вследствии чево хотелось бы пользоваться хранимыми процедурами - чтобы иметь всегда самые свежие данные. Но вот тут то и появляется проблема - данные полученные с помощью хранимых процедур можно использовать только с данными также полученными из хранимых процедур. Т.е. нет возможности привязать свой классификатор к данным из головной Базы. Вот поэтому и хотелось бы написать свою хранимую процедуру (в Access или Visual FoxPro или еще где нибудь) которая просто получала бы данные из того же Access или Visual FoxPro. Заранее благодарен за любую помощь.
0
|
|
| 17.10.2007, 11:22 | |
|
Ответы с готовыми решениями:
9
Запуск хранимых процедур MSSQL Отладка хранимых процедур в MS SQL 2000 Создание хранимых процедур для Ms Sql Server 2008 r2 |
|
0 / 0 / 0
Регистрация: 16.10.2007
Сообщений: 21
|
|
| 18.10.2007, 11:04 | |
|
В принципе это возможно. Не знаю как с твоей системой, но работая в Delphi через ADO с Access хранящиеся в базе Queries распознаются системой как хранимые процедуры, при этом они как могут возращать данные, так могут и не возвращать, просто выполняя к.-л. поерацию с базой. В то же время сохраняется возможность работы с Input и Output параметрами... Короче, сказка...
0
|
|
|
1 / 1 / 0
Регистрация: 17.10.2007
Сообщений: 72
|
|
| 18.10.2007, 12:55 [ТС] | |
|
Спасибо за ответ. Теперь я чуствую что на верном пути нахожусь ; ))
У меня тоже запросы распознаются как хранимые процедуры, но к сожалению не все. Распознаются ли те, которые содержат параметры. Однако, при связи с Ассess через ODBC возникает ошибка и данные из этой процедуры не поступают. Ошибка типа 'Слишком мало параметров', хотя при запуске я задаю значения параметра.
0
|
|
|
1 / 1 / 0
Регистрация: 17.10.2007
Сообщений: 72
|
|
| 18.10.2007, 15:35 [ТС] | |
|
Хотел еще раз поблагодарить за помощь, теперь у меня все работает без проблем.
Если интересно, проблема была в следующем: Запросы в Access действительно воспринимались как хранимые процедуры, когда в них явно указывалось наличие параметра. Проблема была в соответствии типов данных различных приложений. Т.е. решение проблемы состояло в написании запроса в Access с указанием фиктивного параметра такого типа который существовал бы и в приложении использующем получившуюся хранимую процедуру. В моем случае это был тип SHORT, который трактовался 'Контур Стандартом' как Integer(16). Одна из полученных хранимых процедур выглядела следующим образом: /* sp_КлассификаторЛицСчета */ PARAMETERS Сумма Short; SELECT * FROM [tblКлассификаторЛицСчета]; Еще раз спасибо за участие !
0
|
|
|
0 / 0 / 0
Регистрация: 16.10.2007
Сообщений: 21
|
|
| 18.10.2007, 15:50 | |
|
Рад помочь брату по разуму... :-)
0
|
|
|
0 / 0 / 0
Регистрация: 05.12.2007
Сообщений: 3
|
|
| 05.12.2007, 09:35 | |
|
>1) Данных, полученных с помощью хранимых процедур (не SQL) головной >Базы Данных
>2) Данных полученных из связных таблиц >3) Данных полученных из локальных таблиц >Последние два пункта соответствуют анализу последней версии выборки >данных, которые со временем устаревают, вследствии чево хотелось бы >пользоваться хранимыми процедурами - чтобы иметь всегда самые свежие >данные. Это не так. ВСЕ способы получения данных выдают актуальную информацию из БД. Полученные из БД данные не сохраняются. По каждому пользовательскому запросу в Контур Стандарт генерируется SQL-запрос к источнику данных и отображаются те данные, которые были в БД на момент выполнения запроса. Чем хороша хранимая процедура, так это возможностью описания в ней сложных вычислительных алгоритмов, тонкого тюнинга и использования ее параметров для генерации диалога.
0
|
|
|
1 / 1 / 0
Регистрация: 17.10.2007
Сообщений: 72
|
|
| 05.12.2007, 12:12 [ТС] | |
|
Спасибо за ответ, но вероятно я не слишком хорошо описал возникающие проблемы и поэтому вы меня не верно поняли.
Изначально проблема стояла в обработке данных полученных из различных источников. Эта поблема возникает из-за того что как правило в головной базе хранятся слишком детализированные данные, избыточные для анализа, которые требуют агрегирования. Классификаторы этих данных скорее всего хранятся в каких либо других источниках. Это происходит потому что у каждого аналитика обычно своя методика анализа и он должен иметь быстрый доступ к методике, для того чтобы быть в состоянии ее изменить. 'Контур Стандарт' изначально не предназначен для работы с несколькими источниками данных одновременно, поэтому здесь возможно лишь два решения проблемы: 1) Допустим классификатор хранится в базе данных Access. Тогда можно просто загрузить данные из головной базы в Access и продолжить анализ с помощью связных таблиц в 'Контур Стандарт'. Это анализ статических данных, т.е. нет прямой связи с головной базой. 2) Либо написать какие либо хранимые процедуры в Access, где описаны сценарии сбора данных из различных источников. Здесь уже будет анализ динамических данных. Этот подход, насколько я понимаю довольно общий. Более продвинутые OLAP системы имеют в комплекте некую базу данных (буфер). Которая также собирает данные из различных источников и хранит агрегированные даные. Здесь в качестве такого буфера выступает Aceess.
0
|
|
|
0 / 0 / 0
Регистрация: 05.12.2007
Сообщений: 3
|
|
| 05.12.2007, 16:59 | |
|
Теперь я понял задачу. Речь идет о том, что Вам нужна Витрина данных - отдельная от Хранилища БД, в которой данные более агрегированы и особым образом категоризированы.
На этот счет есть несколько идей: 1. Применить классическое решение - создать витрину данных в OLAP-сервере, т.е. многомерную БД, которая агрегирует в себя данные из центрального хранилища(при этом измерения могут быть подтянуты из дополнительных баз данных) и предназначена для узкой предметной области. Это решение имеет много плюсов и три минуса - цена, необходимость в администрировании и offline. 2. Разработать хранимую процедуру(или view) которая объединяет несколько источников данных и агрегирует данные внутри себя, и на которую будет настроен OLAP-клиент, в данном случае Контур Стандарт.Это то, что Вы и сделали. 3. Разработать view вместо хранимой процедуры. Контур Стандарт будет рассматривать view как таблицу. С view можно объединять таблицы. Кстати, КС сам пошлет запрос с Gropup By, т.е агрегирует данные силами сервера БД, если это не Access, а например MS SQL. 4. Воспользоваться специфическими возможностями конкретного Хранилища данных (если я правильно понял - это Контур Корпорация) по автоматической генерации хранимых процедур. Т.е можно создать в нем справочники - Ваши классификаторы и добавить в объекты, которые Вас интересую, например в счета поля, ссылающиеся на эти справочники. Тогда сгенерируется хранимая процедура, которая будет возвращать данные в необходимых разрезах. Одно рассуждение. Если OLAP-система умеет хранить данные, то это наверное OLAP-сервер. Если нет - OLAP-клиент (есть правда промежуточный вариант - OLAP-клиент с локальными кубами, но они как правило замкнуты на себя, их данные ни с чем не объединяются). Я к тому, что является ли танкер продвинутой яхтой, это еще вопрос
0
|
|
|
1 / 1 / 0
Регистрация: 17.10.2007
Сообщений: 72
|
|
| 05.12.2007, 20:08 [ТС] | |
|
Еще раз спасибо за ответ.
Вы верно подметили - вопрос конечно же в цене и в острой необходимости внедрения тех или иных технологий автоматизации. Пока что меня устаивает и танкер. ; )) Скажите пожалуйста, а на каком языке был реализован сам 'Контур Стандарт' ?
0
|
|
|
0 / 0 / 0
Регистрация: 05.12.2007
Сообщений: 3
|
|
| 05.12.2007, 20:16 | |
|
Вот Вы меня и вычислили. OLAP-машина на ANSI C++(между прочим очень быстро работает по сравнению с буржуйскими OLAP-клиентам). Интерфейс на Borland C++ Builder.
Еще хочу сказать, что Вы можете обращаться на support@iso.ru по техническим вопросам.
0
|
|
| 05.12.2007, 20:16 | |
|
Помогаю со студенческими работами здесь
10
Создание хранимых процедур, возвращающие общие суммы для заданного года
Использование хранимых процедур Перенос хранимых процедур Отладка хранимых процедур Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|