У меня есть ниже оператор выбора из хранимой процедуры:Неявное преобразование из типа данных varchar в varbinary не допускается. Используйте функцию CONVERT для выполнения данного запроса
ALTER PROCEDURE [dbo].[Test]
--Params
@SolutionId INT
,@APIKey varbinary(256)
AS
SELECT
SK.SolutionID
,SK.APIKey
,SK.Enabled
FROM
dbo.SolutionKey SK
WHERE
SK.SolutionID = @SolutionId
AND SK.APIKey = @APIKey
AND Enabled = 1
Вопрос заключается в том, что SK.APIKey
является varbinary
тип данных, но в хранимой процедуре из кода он будет передан как 'sampledata', и поэтому я получаю ошибку
Неявное преобразование из типа данных varchar в varbinary не допускается. Используйте функцию CONVERT для запуска этого запроса.
Может кто-нибудь рассказать мне, как я могу это разрешить?
Ошибка говорит, что используется функция 'CONVERT'. Вы пытались использовать функцию 'CONVERT'? (Подсказка: правильный ответ заключается в использовании функции 'CONVERT'.) Я знаю, что я продолжаю работать над функцией' CONVERT', но так как одного упоминания этой функции 'CONVERT', по-видимому, недостаточно для вас, я Добавляем еще несколько упоминаний о функции 'CONVERT'. :) – hvd
@hvd, ха-ха, позвольте мне еще раз повторить Convert еще раз – radar
Ну, я пробовал делать это, но имел неправильный тип данных для параметра, чтобы он не работал. Я изменил его на varchar, как показано ниже полезный ответ, и это сработало .. поэтому я надеюсь, что ПРЕОБРАЗОВАТЕЛИ (@ hvd, RADAR) сегодня получили хороший отклик – user505210