powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPENQUERY & temp tables
5 сообщений из 5, страница 1 из 1
OPENQUERY & temp tables
    #32007109
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть sp, в которой формируется временная таблица и в самом конце делается выборка из нее. При выполнении в QA я вижу возвращаемый recordset. Когда пытаюсь использовать эту процедуру в openquery, то получаю ошибку "The OLE DB provider 'SQLOLEDB' indicates that the object has no columns." По видимому, это происходит из-за использования временной таблицы, потому что если в sp стоит выборка из постоянной таблицы, то все проходит нормально. Как-нибудь это можно обойти ?
UDF и т.д. не подойдут - MS SQL 7.0
...
Рейтинг: 0 / 0
OPENQUERY & temp tables
    #32007554
Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй в начале процедуры сделать "SET NOCOUNT ON"
...
Рейтинг: 0 / 0
OPENQUERY & temp tables
    #32007556
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помогло.
...
Рейтинг: 0 / 0
OPENQUERY & temp tables
    #32009036
Vladimir Gomounov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как я понял, делается попытка выполнения следующей команды:

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
...
Рейтинг: 0 / 0
OPENQUERY & temp tables
    #32009040
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, вопрос был в другом. В процедуре создается временная таблица, набивается чем-нибудь и в конце процедуры из нее делается выборка. В общем, рабочий вариант оказался примерно таким:

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 действительно дело не обошлось.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / OPENQUERY & temp tables
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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