![](/img/trans.png)
[英]Connecting SQL Server database with time-triggered Azure Function using DBContext
[英]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.
這是我的代碼:
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
:
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}");
}
}
我不明白它有什么問題。 請建議
我認為您可以使用public override object this[string name] { get; }
public override object this[string name] { get; }
而不是。 這是我的代碼,它運行良好,您可以將其與您的代碼進行比較。
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.