Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 11.04.2007
Сообщений: 17

Получить из Oracle в Access результат выполнения процедуры

03.07.2007, 18:38. Показов 2036. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день всем!
В книге вычитал, что запросы напрямую к серверу
в Access (dbSQLPassThrough) позволяют получать возвращаемые сервером данные.
Можно ли запустить из Access хранимую процедуру с одним выходным параметром и получить значение этого параметра. Процедуру я запускаю, но не знаю, как получить результат?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.07.2007, 18:38
Ответы с готовыми решениями:

Получить текст функции/процедуры из пакета - Oracle
Добрый день. Появилась задача найти в указанном пакете текст хранимой процедуры или функции. Получилось только такое: select * ...

Определить результат выполнения процедуры
Определить результат выполнения процедуры p при условии,что обращение к ней записано правильно... procedure p(a:integer;var...

Получить результат выполнения метода
Доброго времени суток! Помогите разобраться с проблемой, пожалуйста. В ООП только начала разбираться, возникла такая проблема: Есть...

8
0 / 0 / 0
Регистрация: 06.05.2007
Сообщений: 11
03.07.2007, 20:22
Я не знаю, как в Oracle, а в MS SQL-Server надо в процедуре декларировать переменную для возвращаемого значения, например так:
T-SQL
1
2
3
4
5
CREATE PROCEDURE sp_TEST
@NUMER int OUTPUT
AS
 
SET @NUMER = 2
Тогда в Access можно сделать примерно такую
Pass-Through view:
SQL
1
2
3
DECLARE @zuzu INT
EXEC sp_TEST @zuzu OUTPUT
SELECT @zuzu
0
3D_Killer
13.07.2007, 20:56
попробуй просто сделать не процедуру а функцию, которая тебе ентот результат и будет возращать.
А для получения значения просто делай

в Oracle создай функцию:
Oracle 11 SQL
1
2
3
4
5
6
CREATE OR REPLACE FUNCTION Funct
  RETURN  NUMBER(20.2)
  IS
 BEGIN
     RETURN 50.1+60.3;
END Funct;
а уже из Access-а своего:
SQL
1
SELECT FUNCT FROM DUAL;
Хотя если ничего не создавать, а просто попробовать работает ентот гемор или нет сделай
SQL
1
SELECT sysdate FROM DUAL;
он тебе вернет текущую дату, понятное дело оракловыми средствами.
0 / 0 / 0
Регистрация: 11.04.2007
Сообщений: 17
15.07.2007, 13:25  [ТС]
Спасибо всем ответившим. Вот мой результат, полученный экспериментально: (может, кому пригодится)
Запрос к базе Oracle типа
OraDB.Execute SQLText, dbSQLPassThrough
где OraDB - объект типа Database,
в случае если
1)SQLText - функция или предложение Select - возвращает Recordset, но функция не должна содержать команд Update, Delete, Insert (а мне нужно было изменить запись таблицы и вернуть уникальный код измененной записи)
2)Если SQLText = 'Begin Proc_Name; End;' - выполняет запрос на изменение данных, но НЕ возвращает ничего.
3)Если SQLText = 'Declare PP;Begin Proc_Name(...,PP); SELECT PP FROM DUAL; End;' - Ошибка. Всякие ухищрения с переменными, пакетами и т.п. не проходят. (???)
Есть выход - записывать результат выполнения процедуры в некую таблицу, а затем select-ом считывать - но это криво ((.
0
sleepy
16.07.2007, 15:57
а как записать полученный recordset в таблицу или
видимо проще вывести его на экран в виде запроса или формы?
0 / 0 / 0
Регистрация: 11.04.2007
Сообщений: 17
16.07.2007, 17:51  [ТС]
Видимо, нужно создать временную таблицу и заполнить ее из рекордсета.
А вообще, чтобы визуализировать оракловые данные, легче всего просто подключить таблицы и работать с ними как с 'родными'. Следует побеспокоится о фильтрах, чтобы запрос не содержал слишком много записей.
0
sleepy
16.07.2007, 18:03
ок. мне нужно показать этот полученный recordset
как мне его вывести? динамически создать форму или запрос?
0 / 0 / 0
Регистрация: 11.04.2007
Сообщений: 17
16.07.2007, 18:15  [ТС]
Рекордсет следует перебрать в цикле (MoveFirst, MoveNext) и заполнить какую-нибудь временную таблицу. Затем на основе этой таблицы создать что угодно: запрос, форму, отчет.
0
sleepy
16.07.2007, 18:31
а как работать с временной таблицей?
может есть какой-либо пример?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2007, 18:31
Помогаю со студенческими работами здесь

Получить результат выполнения JavaScript'a
Доброго времени суток, есть сайт, на котором всего одна кнопка и несколько textbox'ов. В OnClick кнопки описан вызов некоторой функции, по...

Получить результат выполнения скриптов из IE
Добрый день, коллеги. Облазил миллион форумов в т.ч. иноязычных, и совсем отчаялся получить ответ. Хотя проблема, на первый взгляд,...

Как получить результат выполнения функции
Как в делфи 7 можно получить результат выполнения функции на web-странице без использования Webbrowser, а например idhttp или еще чего то ?...

Excel. Получить результат выполнения формулы в ячейке
Здравствуйте. Проблема заключается в том, что в ячейке таблицы Excel хранится формула и через text = excel.Rows; я получаю...

Как получить результат выполнения класса в виде списка?
Всем привет. Есть класс "Main", он связан с layot на котором есть "ListView" и "Button" Задача по нажатию кнопки запустить другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru