Я пытаюсь запустить процедуру MSSQL из python. В основном мой питон скрипт просто выполняет хранимую процедуру с именем, как «my_proc», используя эту часть кодаОшибка преобразования типа данных nvarchar в uniqueidentifier
sql_query = """
use my_db
exec dbo.my_proc
"""
res = common.execute_sql(SERVER, USERNAME, PASSWORD, sql_query)
Процедура my_proc выглядит следующим образом
USE [my_db]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[my_proc]
AS
BEGIN
DECLARE @ID NVARCHAR(32) = N'f17584bd-1b19-4847-a9c7-b1560054de69';
SELECT @ID, CONVERT(uniqueidentifier, @ID);
EXEC msdb.dbo.sp_start_job @job_id = ID
END
Но, при запуске скрипта я получаю ошибка:
ошибка преобразования типа данных NVARCHAR к UniqueIdentifier
Итак, это выглядит как часть ниже BEGIN, где происходит переход от nvarchar к uniquetradeidentifer, не удается.
Я также попытался
DECLARE @ID uniqueidentifier
SET @ID = CAST('f17584bd-1b19-4847-a9c7-b1560054de69' as uniqueidentifier)
, но с той же ошибкой.
Что здесь не так?
Изначально я был
EXEC msdb.dbo.sp_start_job @job_id = 'f17584bd-1b19-4847-a9c7-b1560054de69'
, который работает при выполнении процедуры на уровне SQL, но при выполнении этой процедуры с помощью моего питон скрипт я получил ошибку:
Указанный @job_id ('F17584BD -1B19-4847-A9C7-B1560054DE69') не существует
Спасибо за любую помощь