Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Lionne
1

VBA и Oracle: stored procedure из VBA и сохранение текста в переменной

15.04.2013, 16:27. Показов 1094. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день,

Кто-нибудь сталкивался с проблемой выполнения функции Oracle, т.н. Oracle stored procedure, и сохранением результата в переменной?

Операционка: Win XP SP3
Excel 2003
Oracle Client: 11g

Сохранять данные select statements можно с использованием драйвера ODBC (Driver: Oracle in XE), который безукоризненно работает в моем случае:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
'-----------------------
Sub Extract_Data()
 
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim db_name, UserName, Password As String
 
cn.Open db_name, USerName, Password
 
sql_statement = "SELECT some_text FROM some_table"
 
Set rs = cn.Execute(sql_statement)
rs.MoveFirst 'jump to the first entry in the data list
 
Row = 2
While Not rs.EOF
'save the data to a worksheet
ip.Cells(Row, 2) = rs(0).Value
Row = Row + 1
rs.MoveNext
Wend
End Sub
'-----------------------
Но мне нужно обратиться к stored procedure и сохранить буквенно-цифровой результат, разделенный точкой с запятой, в качестве переменной. Проблема состоит в том, что моя процедура доходя до определения параметров выдает ошибку:
"не могу найти объект в коллекции, соответствующий имени или порядковому номеру, запрашиваемым приложением"

далее код:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'----------------------
Public Sub obj_class()
 
Dim cn As New ADODB.Connection
Dim strSQL, cn As String
Dim adoCMD As ADODB.Command
Dim adoRS As ADODB.Recordset
 
Set wb = Excel.ActiveWorkbook
Set ih = wb.Sheets("InfoSheet")
 
cn.Open db_name, UserName, Password
 
Set adoCMD = New ADODB.Command
With adoCMD
.ActiveConnection = cn
.CommandText = "S#mdb$stg_da_extr_util.get_all_classes_of_classif"
.CommandType = adCmdStoredProc
.Parameters.Refresh
.Parameters("i_caller").Value = "'STG_DATA_REQUEST'" 'ошибка появляется здесь
.Parameters("i_obj_classif_id").Value = 120
 
Set adoRS = .Execute()
End With
End Sub
'----------------------
Я пыталась спрашивать на этом форуме:
http://www.access-programmers.... ost1241667
но к сожалению безрезультатно.

Надеюсь и буду премного благодарна за любую подсказку.
Lionna
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2013, 16:27
Ответы с готовыми решениями:

Вызов Oracle stored procedure через DBCP ?
Может кто сталкивался с подобным... Есть Tomcat + DPCP + JNDI и Oracle + stored procedure ... ...

VBA Access Сохранение переменной
Добрый день! мне нужно сохранить полученное числовое данное от текстового поля формы внутри функции...

MSSQL stored procedure. Возможно ли использование переменной в выборе источника данных??
MSSQL stored procedure. Возможно ли использование переменной в выборе источника данных?? Пример...

Как средствами VBA внутри ячейки Excel скопировать часть текста и присвоить его переменной
Как средствами VBA внутри ячейки Excel скопировать часть(!!!) текста и присвоить его какой-нить...

0
15.04.2013, 16:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2013, 16:27
Помогаю со студенческими работами здесь

Stored Procedure
Решил поучить ADO.NET по Троелсену, в SQL Server Management Studio создал БД "AutoLot" и добавил...

Stored Procedure
Народ, подскажите, почему не возвращаются данные из хранимой процедуры(возвращаться ведь должна...

Неполадка по stored procedure
Работа в базе данных Northwind. Нужно создать процедуру, которая получит код покупателя из...

Could not find stored procedure
Error Code = 80040e14 Code meaning = I Source = Microsoft OLE DB Provider for ODBC Drivers...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru