Aplicación Lógica para llamar a un procedimiento almacenado de Azure SQL pasando un parámetro de tipo datetime.
Tengo un procedimiento almacenado simple en una base de datos de Azure SQL que toma un solo parámetro de tipo datetime
:
CREATE PROCEDURE [dbo].[DeleteLogRecs]
(@pSinceBefore datetime)
Me gustaría llamar a esto desde una Azure Logic App pasando un valor de fecha de Ahora – 3 días, por lo que tengo la siguiente acción:
"Execute_stored_procedure_(V2)": {
"inputs": {
"body": {
"pSinceBefore": "@{convertFromUtc(addDays(utcNow(),-3),'GMT Standard Time')}"
},
"host": {
"connection": {
"name": "@parameters('$connections')['sqldw']['connectionId']"
}
},
Mi problema es que recibo el siguiente error:
“status”: 400,
“message”: “Error al convertir el tipo de datos nvarchar a datetime.\r\nclientRequestId: dbbd2502-899f-4812-a942-4c11bbed4c1b”,
“error”: {
“message”: “Error al convertir el tipo de datos nvarchar a datetime.”
¿Alguien puede ver dónde me estoy equivocando?
davy.ai
El mensaje de error sugiere que hay un problema al convertir un tipo de dato
nvarchar
a un tipo de datodatetime
, por lo que es posible que haya un problema con el valor que se está pasando al procedimiento almacenado. Verifique el formato del valor de fecha que se está pasando y asegúrese de que esté en un formato que pueda convertirse a un tipo de datodatetime
.Alternativamente, podría modificar el procedimiento almacenado para manejar tipos de datos
nvarchar
en lugar dedatetime
. Sin embargo, esta puede no ser la mejor solución si necesita realizar operaciones o comparaciones en el valor de fecha dentro del procedimiento almacenado.Por último, es posible que desee verificar los detalles de la conexión y asegurarse de que Azure Logic App esté correctamente configurada para conectarse a la base de datos de Azure SQL.