天蓝色函数时间触发器和天蓝色sql数据库与c#之间的连接:错误。如何修复它
Posted
技术标签:
【中文标题】天蓝色函数时间触发器和天蓝色sql数据库与c#之间的连接:错误。如何修复它【英文标题】:connection between azure functions time trigger and azure sql database with c# : error .how to fix it 【发布时间】:2021-08-15 14:17:20 【问题描述】:我将尝试使用 C# 将 azure 函数与 azure 数据库 sql 连接,但我不知道如何修复此错误。你有什么想法吗??
错误: 我确实尝试并捕获以查看异常
System.Data.ProviderBase.DbConnectionPool.CheckPoolBlockingPeriod(Exceptione)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
这是一个代码:
using System;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
using Microsoft.Extensions.Logging;
using System.Data.SqlClient;
using System.Threading.Tasks;
using Microsoft.Azure.Functions.Extensions;
namespace azuretosharepoint
public static class Function1
[FunctionName("Function1")]
public static async Task RunAsync([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, ILogger log)
try
// Get the connection string from app settings and use it to create a connection.
var str = Environment.GetEnvironmentVariable("sqldb-connection");
using (SqlConnection conn = new SqlConnection(str))
conn.Open();
var text = "SELECT * FROM PERSONNE ;";
using (SqlCommand cmd = new SqlCommand(text, conn))
// Execute the command and log the # rows affected.
var rows = await cmd.ExecuteNonQueryAsync();
log.LogInformation($"rows rows were updated");
catch(Exception e)
Console.WriteLine("0 Exception caught.", e);
error image
【问题讨论】:
错误很明显。凭据错误。完整的异常很可能包含更多信息。无论如何,一个名为sqladmin
的帐户听起来不像是任何服务都应该使用的东西
请发布完整异常文本,而不仅仅是消息。完整的异常文本包含任何内部异常和导致此错误的调用的堆栈跟踪。发布连接字符串(不包含敏感信息)也会有所帮助
非,凭据是正确的,因为我能够连接到 azure data studio,但我会向您展示异常:生成的异常:System.Private.CoreLib 中的“System.Data.SqlClient.SqlException” .dll
@PanagiotisKanavos 我已经修改了帖子并放了完整的eception
帖子包含 Stacktrace,但不包含异常详细信息。
【参考方案1】:
如果您对这项服务非常陌生,可以关注此tutorial。
检查您的代码后,没有任何问题。问题一定是连接。请检查您是否修改了连接字符串中的密码。
另一件事是确保为您的 IP 地址设置服务器防火墙规则。
【讨论】:
以上是关于天蓝色函数时间触发器和天蓝色sql数据库与c#之间的连接:错误。如何修复它的主要内容,如果未能解决你的问题,请参考以下文章