powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача структуры в качестве параметра в хранимую процедуру.
9 сообщений из 9, страница 1 из 1
Передача структуры в качестве параметра в хранимую процедуру.
    #32570375
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос собственно про OCCI.
Мне нужно Си-шную структруру передать в качестве входящего параметра в хранимую процедуру описанную следующим образом:
Код: plaintext
procedure test (p_emp IN emp%ROWTYPE) AS

Соответственно существует структура с таким же набором и типом полей в Си.
Нарыл метод
Код: plaintext
stmt->setDataBuffer ( 1 , &emp, OCCI_SQLT_NTY,....)


Начальные параметры мне вобщем-то понятны, а вот с последующими разобраться не могу :((
Код: plaintext
1.
2.
3.
4.
size: Size of the data buffer 
length: Current length of data in the data buffer
ind: Indicator information
rc: Return code

В Си++ я честно говоря совсем слабо шарю, так что может приведет кто работающий вызов метода... да понаглядней.
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32570893
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за СУБД ?


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571210
Sergey D.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если делаешь через ADO, то в там есть объект Parameters у объекта Command. Вот туда и пихай свою структуру.

Код: plaintext
1.
2.
3.
4.
A Parameter object represents a parameter or argument associated with a Command object based on a parameterized query or stored procedure

Parameter objects represent parameters associated with parameterized queries, or the in/out arguments or return values of stored procedures. Depending on the functionality the provider exposes, some collections, methods, or properties of a Parameter object may not be available. 

...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571217
Sergey D.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот из описания:

A Parameter object represents a parameter or argument associated with a Command object based on a parameterized query or stored procedure

Parameter objects represent parameters associated with parameterized queries, or the in/out arguments or return values of stored procedures. Depending on the functionality the provider exposes, some collections, methods, or properties of a Parameter object may not be available.



WBR, Sergey
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571471
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sergey D.
а разве можно в параметре передовать структуру ?
да и потом как ты все это будещь разбирать ?


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571514
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СУБД собсно Oracle 9i.
библиотека доступа Oracle C++ Call Interface (OCCI).
Разобрался что дело вроде не в параметрах, биндится нормально, падает на
Код: plaintext
stmt->execute ();
с ошибкой
Код: plaintext
1.
2.
3.
ORA- 24358  OCIBindObject not invoked for a Object type or Reference
Cause: OCIBindObject was not invoked resulting in an incomplete bind specification for a Object Type or Reference.
Action: Invoke the OCIBindObject call for all Object Types and References.
Где же тут порылась собака? может неправильно определена процедура? В доке примеров со структурой нету, с интами и строками у меня получилось. ХЕЛП!!!!
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571533
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет ну а точно можно передавать в Оракле , в хп свой тип ???
лутьше уточни на форуме Oracle.
потому что насколько я знаю нельзя ...


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571564
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заявить твой дурацкий параметр как char for bit data?
...
Рейтинг: 0 / 0
Передача структуры в качестве параметра в хранимую процедуру.
    #32571587
Um
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to JibSkeart:
В том-то и прикол что можно. вот цитата из доки оракловой:
Код: plaintext
1.
OCCI_SQLT_NTY (represented by a C structure in an application) is converted to the internal representation
оf the corresponding datatype on input 
и наоборот
Код: plaintext
1.
A named datatype stored in the database is converted to OCCI_SQLT_NTY
 (and represented by a C structure in the application) on output 
На оракловом форуме то я задал... там пока вообще ни одного ответа :(((

to NewYear:
А как структуру перегнать в char for bit data? И что это вообще за тип и как его потом в ХП выгребать, как BLOB?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Передача структуры в качестве параметра в хранимую процедуру.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]