|
|
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
Добрый день! даже на знаю в какой форум написать свой вопрос... думаю, что здесь мне бестрее ответят. прочитал на днях что Visual FoxPro OLE DB Provider от 9-ки может передавать данные курсора из хранимой процедуры в базе данных с помощью функции SETRESULTSET( ). вопрос. возможно ли реализовать получение данных из ХП для АДО.НЕТ? почему вопрос стоит имнно так? дело в том, что сам запуск хранимой процедуры (в принципе) проходит отлично: C# using (OleDbConnection con = new OleDbConnection(@"Data Source=""C:\TEST\TEST.DBC"";Provider=""VFPOLEDB.1"";Collating Sequence=MACHINE; Mode=Share Deny None")) { OleDbCommand com = con.CreateCommand(); com.CommandType = CommandType.StoredProcedure; com.CommandText = "vizselect()"; con.Open(); com.ExecuteNonQuery(); con.Close(); } но стоит вызвать ридер: using (OleDbConnection con = new OleDbConnection(@"Data Source=""C:\TEST\TEST.DBC"";Provider=""VFPOLEDB.1"";Collating Sequence=MACHINE; Mode=Share Deny None")) { OleDbCommand com = con.CreateCommand(); com.CommandType = CommandType.StoredProcedure; com.CommandText = "vizselect()"; con.Open(); using (OleDbDataReader rd = com.ExecuteReader()) { while (rd.Read()) { MessageBox.Show("!"); } } } то при создании ридера возникает ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll подскажите, правильный вызов ХП (если такое вообще возможно). з.ы. текст ХП *----------------------------------------------- Procedure VizSelect() *------------------------------------------------ Select * from viz INTO CURSOR ctmp SETRESULTSET('ctmp') Endproc з.з.ю. сказать по-правде, несколько боязно задавать такие вопросы на этом форуме после прочтения постов в теме "(C#) Интересно, хорошо это или плохо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 13:00:17 |
|
||
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
Попробуй так.. in C#: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. in Fox: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 14:00:09 |
|
||
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
согласен. ТАК будет работать (собственно так уже и работает), но... это как-то некрасиво получается... хотя другого выхода помоему и нет к сожалению. ну раз пошла такая пьянка тогда попутно еще вопрос: возможно ли выполнение ХП с передачей параметров? если есть пример - буду очень благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 14:09:16 |
|
||
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 14:17:37 |
|
||
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
получается, что функция SETRESULTSET() не для ADO.NET? как ни бился, заставить ее корректно передавать курсок в АДО.НЕТ мне не удалось... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 16:11:52 |
|
||
|
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
|
|||
|---|---|---|---|
|
#18+
svvvvполучается, что функция SETRESULTSET() не для ADO.NET? как ни бился, заставить ее корректно передавать курсок в АДО.НЕТ мне не удалось... Вы правильно поняли. А тынц читали? Там как раз показано как обойти с использованием формата XML... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 16:17:05 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=310&tid=1593787]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 330ms |

| 0 / 0 |
