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

Откуда:
Сообщений: 65
Здравствуйте.
Вызываемая ХП на удаленном сервере
ALTER PROCEDURE [dbo].[TNAME] @name int
	
	AS
BEGIN
	SET NOCOUNT ON;
    if @name = 1
	SELECT * from Tbl where p=1
    if @name = 2
	SELECT * from Tbl where p=2
END
Есть запрос:
declare @name int
set @name = 1
exec OPENDATASOURCE('SQLOLEDB', 'Data Source=srv;User ID=user;Password=pwd').DataBase.dbo.TName @name
Запрос выполняется отлично.
Но когда я его пытаюсь выполнить через sp_executesql
declare @name int
set @name = 1
declare @query nvarchar(1000)
set @query = 'exec OPENDATASOURCE(''SQLOLEDB'', ''Data Source=srv;User ID=user;Password=pwd'').Database.dbo.TNAme @name'
select @query
exec sp_executesql @query,'@name int',@name
то постоянно выдается ошибка:

Сообщение 214, уровень 16, состояние 3, процедура sp_executesql, строка 1
Процедура ожидает параметр "@parameters" типа "ntext/nchar/nvarchar".
9 окт 09, 17:21    [7766516]     Ответить | Цитировать Сообщить модератору
 Re: Выоплнение ХП на удаленном сервере  [new]
DeColo®es
Member

Откуда: Москва
Сообщений: 5499
Блог
N'@name int'
9 окт 09, 17:24    [7766528]     Ответить | Цитировать Сообщить модератору
 Re: Выоплнение ХП на удаленном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sankin

[/src]то постоянно выдается ошибка:

Сообщение 214, уровень 16, состояние 3, процедура sp_executesql, строка 1
Процедура ожидает параметр "@parameters" типа "ntext/nchar/nvarchar".

И что вам непонятно из текста этой ошибки ?
9 окт 09, 17:25    [7766534]     Ответить | Цитировать Сообщить модератору
 Re: Выоплнение ХП на удаленном сервере  [new]
Sankin
Member

Откуда:
Сообщений: 65
DeColo®es, спасибо. Как говорится, пятница.... заработался.
9 окт 09, 17:27    [7766548]     Ответить | Цитировать Сообщить модератору
 Re: Выоплнение ХП на удаленном сервере  [new]
Glory
Member

Откуда:
Сообщений: 104760
Sankin

Есть запрос:
declare @name int
set @name = 1
exec OPENDATASOURCE('SQLOLEDB', 'Data Source=srv;User ID=user;Password=pwd').DataBase.dbo.TName @name
Запрос выполняется отлично.

Вы уверены, что именно такой запрос выполняется отлично ?
9 окт 09, 17:40    [7766622]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить