Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 передача параметров процедуре через linked server  [new]
MGN
Member

Откуда:
Сообщений: 24
Процедура

CREATE PROCEDURE dbo.add_account
@acc_name char(40),
@address char(40),
@city char(20)
AS

insert into customer_t (cust_name,address1,city) values (@cust_name,@address,@city)

GO

Вызываю с другого сервера

select * from openquery(LinkServer,'exec add_account new_name, new_addr,new_city')

пишет

Server: Msg 7357, Level 16, State 2, Line 1
Could not process object 'exec add_account new_name, new_addr,new_city'. The OLE DB provider 'SQLOLEDB' indicates that the object has no columns.
OLE DB error trace [Non-interface error: OLE DB provider unable to process object, since the object has no columnsProviderName='SQLOLEDB', Query=exec add_account new_name, new_addr,new_city'].

Помогите пожалуйста!! Что не так делаю??
16 июн 05, 16:21    [1625918]     Ответить | Цитировать Сообщить модератору
 Re: передача параметров процедуре через linked server  [new]
Smirnov Anton
Member

Откуда: Н.Новгород
Сообщений: 3220
а если так попробовать
select * from openquery(LinkServer,'exec add_account ''new_name'', ''new_addr'',''new_city''')
16 июн 05, 16:24    [1625939]     Ответить | Цитировать Сообщить модератору
 Re: передача параметров процедуре через linked server  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
exec linked_server.database.owner.proc_name @param ...
16 июн 05, 16:25    [1625953]     Ответить | Цитировать Сообщить модератору
 Re: передача параметров процедуре через linked server  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
написано же аглицким по белому:

The OLE DB provider 'SQLOLEDB' indicates that the object has no columns.

да и какой резалтсет от инструкции INSERT?!
16 июн 05, 16:27    [1625972]     Ответить | Цитировать Сообщить модератору
 Re: передача параметров процедуре через linked server  [new]
MGN
Member

Откуда:
Сообщений: 24
а если так попробовать
select * from openquery(LinkServer,'exec add_account ''new_name'', ''new_addr'',''new_city''')

НЕ пашет, тот же самый эффект

зато вот этот вариант меня спас!!

exec linked_server.database.owner.proc_name @param ...

СПАСИБО ОГРОМНОЕ!!! сразу всё зашуршало. Меня даже кто-то пугал, что передать параметры можно, а вот получить результат - ODBC будит глючить. Ан нет! Всё гоняет и туда, и обратно!

pkarklin большое человеческое спасибо!
17 июн 05, 11:12    [1627938]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить