Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
OPENQUERY & temp tables
|
|||
|---|---|---|---|
|
#18+
Есть sp, в которой формируется временная таблица и в самом конце делается выборка из нее. При выполнении в QA я вижу возвращаемый recordset. Когда пытаюсь использовать эту процедуру в openquery, то получаю ошибку "The OLE DB provider 'SQLOLEDB' indicates that the object has no columns." По видимому, это происходит из-за использования временной таблицы, потому что если в sp стоит выборка из постоянной таблицы, то все проходит нормально. Как-нибудь это можно обойти ? UDF и т.д. не подойдут - MS SQL 7.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2001, 06:52 |
|
||
|
OPENQUERY & temp tables
|
|||
|---|---|---|---|
|
#18+
попробуй в начале процедуры сделать "SET NOCOUNT ON" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2001, 05:37 |
|
||
|
OPENQUERY & temp tables
|
|||
|---|---|---|---|
|
#18+
Не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2001, 05:41 |
|
||
|
OPENQUERY & temp tables
|
|||
|---|---|---|---|
|
#18+
Как я понял, делается попытка выполнения следующей команды: SELECT * INTO #TEMP_TABLE FROM OPENQUERY(......... У меня тоже не получилось. Но прекрасно идет следующий вариант: CREATE TABLE #TEMP_1 ( SUM_LAST_ACCRUAL DECIMAL (18,4) - Это только одна из реализаций OPENQUERY у меня ) -- количество колонок и их последовательность - в соответствии с последовательностью, возвращаемой OPENQUERY -- колонки таблицы именую произвольно, но типы выдерживаю в соответствии с возвращаемыми данными из OPENQUERY INSERT INTO #TEMP_1 ( SUM_LAST_ACCRUAL ) select * from OPENQUERY(... -- или -- INSERT INTO #TEMP_1 -- select * from OPENQUERY(... ..................... SELECT * FROM #TEMP_1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2001, 09:07 |
|
||
|
OPENQUERY & temp tables
|
|||
|---|---|---|---|
|
#18+
Нет, вопрос был в другом. В процедуре создается временная таблица, набивается чем-нибудь и в конце процедуры из нее делается выборка. В общем, рабочий вариант оказался примерно таким: create proc p1 as begin set nocount on select name into #t1 from sysobjects -- some actions select * from #t1 drop table #t1 end select * from openquery (SRV_TEST, 'exec p1') Кстати, без set nocount on действительно дело не обошлось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2001, 10:10 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32007109&tid=1826264]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 390ms |

| 0 / 0 |
