База данных SQL Azure sp_executesql не поддерживается в этой версии SQL Server.

Когда я выполняю приведенный ниже код в своей базе данных SQL Azure, я получаю следующую ошибку:

'sp_executesql' not supported on this version of SQL Server



EXECUTE sp_executesql @ColumnMetadataSQL, @ParmDefinition, @ColumnMetadataOUT=@ColumnMetadata OUTPUT;

Я не уверен, почему я получаю эту ошибку, поскольку 'sp_executesql' поддерживается в базе данных SQL Azure.

Https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-executesql-transact-sql?view=sql-server-ver16

Есть предположения?

Что показывает @@version?

Stu 19.02.2023 20:31

Привет, Стью, спасибо за ответ. Когда я запускаю @@version, я получаю следующую ошибку Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '@@version'.

Patterson 19.02.2023 20:36

Я должен указать, что это сервер Azure SQL.

Patterson 19.02.2023 20:37

Привет, Стью, я неправильно ввожу @@версию?

Patterson 19.02.2023 20:40
select @@version
Stu 19.02.2023 20:41

Хорошо, я получаю следующее Microsoft SQL Azure (RTM) - 12.0.2000.8 Jan 12 2023 05:25:39 Copyright (C) 2022 Microsoft Corporation

Patterson 19.02.2023 20:42

Привет, Стю, я не думаю, что версия является причиной получения ошибки? Но я могу ошибаться

Patterson 19.02.2023 20:54
Типы данных JavaScript
Типы данных JavaScript
В JavaScript существует несколько типов данных, включая примитивные типы данных и ссылочные типы данных. Вот краткое объяснение различных типов данных...
Как сделать движок для футбольного матча? (простой вариант)
Как сделать движок для футбольного матча? (простой вариант)
Футбол. Для многих людей, живущих на земле, эта игра - больше, чем просто спорт. И эти люди всегда мечтают стать футболистом или менеджером. Но, к...
Знайте свои исключения!
Знайте свои исключения!
В Java исключение - это событие, возникающее во время выполнения программы, которое нарушает нормальный ход выполнения инструкций программы. Когда...
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик
CSS Flex: что должен знать каждый разработчик Модуль flexbox, также известный как гибкий модуль разметки box, помогает эффективно проектировать и...
Введение в раздел "Заголовок" в HTML
Введение в раздел "Заголовок" в HTML
Говорят, что лучшее о человеке можно увидеть только изнутри, и это относится и к веб-страницам HTML! Причина, по которой некоторые веб-страницы не...
0
7
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
База данных SQL Azure sp_executesql не поддерживается в этой версии SQL Server.

Поскольку его предоставление не поддерживает эту версию, ошибка выглядит странно, потому что команда sp_executesql поддерживается в версиях SQL Server (почти во всех), то есть 2000, 2005, 2008, 2008R2, 2012, 2014 или выше.

Я пытался воспроизвести, но у меня все работает нормально. с той же версией SQL, что и у вас.

Код и выполнение в SSMS и редакторе запросов Azure:

DECLARE @SQLString NVARCHAR(500); 
DECLARE @ParmDefinition NVARCHAR(500);   
DECLARE @SalesOrderNumber NVARCHAR(25);
  
SET @SQLString = N'SELECT @taskObtainedScoreOUT = MAX(taskObtainedScore)  
    FROM  [dbo].[samplejson4]';  
SET @ParmDefinition = N'@taskObtainedScoreOUT NVARCHAR(25) OUTPUT';    
EXECUTE sp_executesql  @SQLString,@ParmDefinition,@taskObtainedScoreOUT = @SalesOrderNumber OUTPUT;  
 
SELECT @SalesOrderNumber ;

Версия SQL:

После того, как проверьте свой код и параметр запроса, если проблема не устранена, проблема может быть связана с сервером Azure для более глубокого изучения, вы можете отправить запрос в службу поддержки команде Microsoft из здесь.

Привет @Pratik, спасибо, что связались. Извините за мой запоздалый ответ. У вас есть какие-нибудь образцы данных, на которых я мог бы протестировать ваш код.

Patterson 20.02.2023 18:19

Привет @Pratik, ты прав. sp_executesql работает, когда я ввожу ваш код. Мне нужно будет опубликовать полный код в другом вопросе. Спасибо

Patterson 20.02.2023 18:35

Другие вопросы по теме