|
|
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Скоро будет бзик... Казалось бы все примитивно: стоит задача: получить данные, формируемые хранимой процедурой MS SQL. Если процедура состоит элементарно из select * from test_table то все нормально, получаю ResultSet Если процедура будет выглядеть н-р так: insert into test_table ('1','1','1') select * from test_table то CallableStatement возвращает пустой ResultSet. :-( билась по всякому. Как получить ResultSet, путем вызова процедуры, в которой производятся изменения таблиц базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 11:11:46 |
|
||
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
привидите тело вашей хранимой процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 11:25:43 |
|
||
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Что-то вроде этого предполагается CREATE procedure test_procedure @inxml NText AS BEGIN DECLARE @idoc int EXEC sp_xml_preparedocument @idoc OUTPUT, @inxml insert into test_table (param1,param2,param3,param4) SELECT * FROM OPENXML (@idoc,'/ROOT/RECORD', 0) WITH ( param1 numeric '@param1', param2 numeric '@param2', param3 numeric '@param3', param4 numeric '@param4') EXEC sp_xml_removedocument @idoc --Таблица для результатов сохранения информации в базе Create table #result (id varchar(255), id_curs varchar(255), resultat varchar(255), type_error varchar(255), prim varchar(255)) insert into #result values ('31','1','1','1','1') insert into #result values ('32','1','1','1','1') insert into #result values ('33','1','1','1','1') select * from #result drop table #result END ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 11:47:21 |
|
||
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
из процедур возвращается результат последней команды, в коде это дроп табле которая ничего не возвращает. В документации по мсскл можно set rowcount посмотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 11:56:08 |
|
||
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
Нет дело не в drop. Что-то из-за DML операторов. Если в процедуре select * from test_doc то ResultSet приходит. Получаю результат и если select * from test_doc insert into test_doc values (9999,9999,9999,9999) Но в случае insert into test_doc values (9999,9999,9999,9999) select * from test_doc то ResultSet = null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 14:15:45 |
|
||
|
СРОЧНО. обмен данными с MS SQL средствами хранимых процедур
|
|||
|---|---|---|---|
|
#18+
ну не ровкоунт а нокоунт. Поставить в начало процедуры чтобы When SET NOCOUNT is ON, the count (indicating the number of rows affected by a Transact-SQL statement) is not returned. When SET NOCOUNT is OFF, the count is returned. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2007, 18:17:04 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2145715]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
53ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 459ms |

| 0 / 0 |
