Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

mssql2000 и select из ХП


Анна ©   (2010-04-14 15:59:00) 

select * from dbo.sp_help ves

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


Ega23   (2010-04-15 13:31:00) [1]

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


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


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

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


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


> han_malign   (15.04.10 12:53) [11]

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


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

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

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


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


> поробуй '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 11:45:00) [6]

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


12   (2010-04-15 11:34:00) [7]

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


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


> 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 ')
То инкоррект синтакс...


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


> функция и 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-14 17:13:00) [10]


> han_malign   (14.04.10 16:44) [3]


> функция и return table

Спасибо!!!!


12   (2010-04-14 16:57:00) [11]

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

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


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

user_defined_function

Specifies a user-defined function that returns a table. Ifthe user-defined function is a built-inuser-defined function, it mustbe preceded by two colons, as in

FROM ::fn_listextendedproperty


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


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

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


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

openquery?


Наверх

Титульная страница Поиск, карта сайта Написать письмо