Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.06 c