[英]Connect time-triggered Azure Function with Database using SQL Client
I am connecting time-triggered Azure Function with SQL Server using SQL client but I am not getting any data. I am connecting time-triggered Azure Function with SQL Server using SQL client but I am not getting any data.
Here is my code:这是我的代码:
local.settings.json
: local.settings.json
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"DefaultConnection": "Data Source=; Initial Catalog=;User ID=;Password=;MultipleActiveResultSets=True;Persist Security Info=True;"
}
}
Function1.cs
: Function1.cs
:
public class Function1
{
[FunctionName("Function1")]
public static async Task Run([TimerTrigger("0 45 14 * * *")]TimerInfo myTimer, ILogger log)
{
var sqlConnection = Environment.GetEnvironmentVariable("DefaultConnection");
using (SqlConnection conn = new SqlConnection(sqlConnection))
{
conn.Open();
var text = "SELECT * from UserMaster where UserId=1234";
//This query has around 50 data in the database but still getting no data in it.
using (SqlCommand cmd = new SqlCommand(text, conn))
{
using (SqlDataReader reader = await cmd.ExecuteReaderAsync())
{
while (reader.Read())
{
log.LogInformation($"{reader.GetString(0)}{reader.GetString(1)} rows selected");
Console.WriteLine("{0} {1}", reader.GetString(0), reader.GetString(1));
}
}
}
conn.Close();
}
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
}
I am not getting what is wrong with it.我不明白它有什么问题。 Please suggest
请建议
I think you can use public override object this[string name] { get; }
我认为您可以使用
public override object this[string name] { get; }
public override object this[string name] { get; }
instead. public override object this[string name] { get; }
而不是。 Here's my code and it worked well, you may compare it with yours.这是我的代码,它运行良好,您可以将其与您的代码进行比较。
using System;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Data.SqlClient;
using System.Collections.Generic;
namespace Function0602
{
public static class Function1
{
[FunctionName("Function1")]
public static async Task<List<tinyTest>> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
List<tinyTest> list = new List<tinyTest>();
var str = "connect_string";
using (SqlConnection conn = new SqlConnection(str))
{
conn.Open();
var text = "select * from tinyTest;";
using (SqlCommand cmd = new SqlCommand(text, conn))
{
using (SqlDataReader reader = await cmd.ExecuteReaderAsync())
{
while (reader.Read())
{
tinyTest res = new tinyTest();
//SqlDataReader skd provide the method of reader["column_name"]
res.user_id = (string)reader["user_id"];
res.user_name = (string)reader["user_name"];
res.age = (int)reader["age"];
list.Add(res);
}
}
}
conn.Close();
}
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
return list;
}
}
public class tinyTest {
public string user_id { get; set; }
public string user_name { get; set; }
public int age { get; set; }
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.