Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

mssql2000 и select из ХП   Найти похожие ветки 

 
Анна   (2010-04-14 15:59) [0]

select * from dbo.sp_help ves

Как сделать селект из хранимой процедуры?


 
12 ©   (2010-04-14 16:00) [1]

openquery?


 
Анна   (2010-04-14 16:26) [2]


> 12 ©   (14.04.10 16:00) [1]
> openquery?

А что писать первым параметром (linked server)? У меня его нет...
SELECT *
FROM OPENQUERY( ..master,"SELECT * FROM dbo.sp_help ves")


 
han_malign   (2010-04-14 16:44) [3]

user_defined_function

Specifies a user-defined function that returns a table. If the user-defined function is a built-in user-defined function, it must be preceded by two colons, as in

FROM ::fn_listextendedproperty



 
12 ©   (2010-04-14 16:57) [4]

> что писать первым параметром
сам себя

кстати, да
функция и return table


 
Анна   (2010-04-14 17:13) [5]


> han_malign   (14.04.10 16:44) [3]


> функция и return table

Спасибо!!!!


 
han_malign   (2010-04-15 09:16) [6]


> функция и return table

- а вот и хрен: sp_... - ни разу не функция... простой FROM не прокатит... :(
Только OPENQUERY и INSERT-EXEC во временную таблицу...

> А что писать первым параметром (linked server)? У меня его нет...

sp_addlinkedserver @server = "LOCALSERVER",  @srvproduct = "",
                  @provider = "SQLOLEDB", @datasrc = @@servername
SELECT * FROM OPENQUERY(LOCALSERVER, "EXEC ...")

http://www.sommarskog.se/share_data.html


 
Анна   (2010-04-15 11:08) [7]


> han_malign   (15.04.10 09:16) [6]

Сделала:
EXEC sp_addlinkedserver "qqqq","","SQLOLEDB",@@servername
SELECT * FROM OPENQUERY(qqqq, "EXEC vniro..fish_res_proc") where id_res=83
где fish_res_proc" - моя процедура. Все работает.

Но! Когда перехожу к sp_help, то не получается как указать БД к таблице:
SELECT * FROM OPENQUERY(qqqq, "EXEC sp_help doc_marker ")
При таком написании ругается, что в master-е нет табл.doc_marker...
если пишу:  
SELECT * FROM OPENQUERY(qqqq, "EXEC sp_help vniro..doc_marker ")
То инкоррект синтакс...


 
12 ©   (2010-04-15 11:34) [8]

а если сделать процедуру, из которой вызывать EXEC sp_help doc_marker ?


 
han_malign   (2010-04-15 11:45) [9]

поробуй "USE vniro EXEC sp_help doc_marker", или "EXEC sp_help ""vniro..doc_marker"""


 
Анна   (2010-04-15 12:25) [10]


> поробуй "USE vniro EXEC sp_help doc_marker", или "EXEC sp_help
> ""vniro..doc_marker"""

Не... Не проходит.


> а если сделать процедуру, из которой вызывать EXEC sp_help
> doc_marker ?

Здесь тоже попробвала. Процедуру написала. Когда вызываю то работает, наборы данных выдает :
exec vniro..proc_sp_help ( в процедуре только один вызов : exec sp_help doc_marker)
Но когда ставлю в :
SELECT * FROM OPENQUERY(qqqq,"EXEC vniro..proc_sp_help"),
то ругается:
OLE DB provider "SQLOLEDB" supplied inconsistent metadata for a column. The name was changed at execution time.


 
han_malign   (2010-04-15 12:53) [11]

а зачем вообще этот изврат нужен, не проще в ручную по системным таблицам пробежаться? sp_help вообще то ни разу не гомогенный набор возвращает, там несколько наборов с разными полями, поэтому в select оно никак не запихнется...

Что-то мне подсказывает(телепатирую), что тебе syscolumns, или COLUMNPROPERTY(OBJECT_ID(doc_marker), COL_NAME(OBJECT_ID(doc_marker), n), prop) нужны...


 
Анна   (2010-04-15 13:03) [12]


> han_malign   (15.04.10 12:53) [11]

Да я сама понимаю, что изврат... Просто зациклилась. То что несколько наборов возвращает, знаю, в дельфи их считываю, раскладываю в переменные и использую для create table.
Спасибо за участие. Да и вообще... :))  Спасибо!!!


 
han_malign   (2010-04-15 13:14) [13]


> несколько наборов возвращает, знаю

- дык, а чего ж тогда удивительного, что:
>... inconsistent metadata for a column. The name was changed at execution time.
- значит запрос таки прошел, вот только результат в rowset не влазит...
Можно расцикливаться... :)


 
Ega23 ©   (2010-04-15 13:31) [14]

А какая проблема стоит-то?



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
2-1268906424
cyber-pilot
2010-03-18 13:00
2010.08.27
Проблемы с кнопкой на панеле задач


15-1272627412
12
2010-04-30 15:36
2010.08.27
EDBEngineError. Cannot load driver. Что можно сделать?


15-1269450731
GDI+
2010-03-24 20:12
2010.08.27
Формула рассчета расстояния между двумя точками на сфероиде


4-1238606535
Psycho
2009-04-01 21:22
2010.08.27
Хук на WM_DROPFILES в трей


15-1275550373
12
2010-06-03 11:32
2010.08.27
pascal.Напомните, пожалуйста, как там возвращать значение функции