SQL Azure Дистанционная процедура - PullRequest
0 голосов
/ 11 февраля 2020

Мы пытаемся выполнить удаленную процедуру для базы данных Azure:

INSERT INTO #temp (
    ConsultantId
    ,UserId
    ,Name
    ,Email
    ,Phone
    ,DefaultContact
    )
EXEC @RemoteResult = sp_execute_remote @RemoteSource
    ,@SQLString
    ,@ParmDefinition
    ,@userid = @userid; 

Где #temp - это таблица с теми же 6 столбцами, как показано на вставке выше.

Однако мы всегда возвращаем столбец $ ShardName , даже если мы указываем только нужные нам столбцы, и в результате мы также получаем следующую ошибку:

Имя или номер столбца предоставленных значений не соответствует определению таблицы.

Любые идеи приветствуются.

1 Ответ

0 голосов
/ 11 февраля 2020

Если я правильно понимаю, решение этой проблемы - просто добавить еще один столбец в таблицу, чтобы принять столбец [$Shard]. Он должен быть в правильном положении и иметь правильный тип данных. Ему не нужно одно и то же имя.

Для ясности, стоит создать его с тем же именем.

Предполагая, что $Shard был последним столбцом из pro c, это должно работать:

INSERT INTO #temp (
    ConsultantId
    ,UserId
    ,Name
    ,Email
    ,Phone
    ,DefaultContact
    ,[$Shard]
    )
EXEC @RemoteResult = sp_execute_remote @RemoteSource
    ,@SQLString
    ,@ParmDefinition
    ,@userid = @userid; 
...