powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OracleClient.Net
4 сообщений из 4, страница 1 из 1
OracleClient.Net
    #32062041
kreek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приведите, пжл, пример взаисодействия с хран. процедурами оракла на вы борку данных, типа
reader = command.ExecuteReader(CommandBehavior.CloseConnection);
т.е. нужен исходник хр.пр.
...
Рейтинг: 0 / 0
OracleClient.Net
    #32062243
Rita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Privet kreek!

Zanimaius' tem je...
Vrode to, no ne rabotaet,a ya muchaius' - ne mogu poniat', chto ne tak???
Mojet ti uvidish??
PL/SQL sozdaetsia normal'no, a "myReader1 = oleDbComSP.ExecuteReader() " - failed....

src]-----[/src]
CREATE OR REPLACE PACKAGE unit_pack
AS
TYPE t_unit_cursor IS REF CURSOR;

PROCEDURE units_by_id(
p_unt_id IN number,
unit_cursor OUT t_unit_cursor
);

END unit_pack;
/

CREATE OR REPLACE PACKAGE BODY UNIT_PACK
AS PROCEDURE units_by_id
(p_unt_id IN number,
unit_cursor OUT t_unit_cursor)
IS BEGIN
OPEN unit_cursor FOR SELECT * FROM c4_unit
WHERE unt_id = p_unt_id;


END units_by_id;
END unit_pack;

/
-------------------------------------
Код: plaintext
1.
2.
[/src]
[color=red][/color]
[src]
String StrConn =

"Provider=oraoledb.oracle;Password=c;User ID=c;Data Source=a;oledb.net=true;plsqlrset=true";
oConn = new System.Data.OleDb.OleDbConnection(StrConn);
oConn.Open();
oleDbComSP.Connection = oConn;

string temp = txtBoxId.Text;
int untId = int.Parse(temp);

oleDbComSP.CommandText = "{call UNIT_PACK.units_by_id(?)}";


oleDbComSP.Parameters[0].Value = untId;


OleDbDataReader myReader1 = oleDbComSP.ExecuteReader();
...
Рейтинг: 0 / 0
OracleClient.Net
    #32062378
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не переписать это вот так. Правда курсор возвращается не процедурой, а функцией, но по-моему это несущественно.

Как правильно описать возвращаемый тип на клиенте, разберитесь сами. Думаю, там ничего сложного.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE OR REPLACE PACKAGE unit_pack 
AS 
    TYPE t_unit_cursor IS REF CURSOR; 
END unit_pack; 
/ 

CREATE OR REPLACE FUNCTION units_by_id 
(p_unt_id IN number) 
RETURN unit_pack.t_unit_cursor
    unit_cursor unit_pack.t_unit_cursor;
AS
BEGIN 
    OPEN unit_cursor FOR SELECT * FROM c4_unit 
                                WHERE unt_id = p_unt_id; 
END units_by_id; 
/
...
Рейтинг: 0 / 0
OracleClient.Net
    #32062519
kreek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
passed
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / OracleClient.Net
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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