【发布时间】: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);
}
}
}
}
【问题讨论】:
-
错误很明显。凭据错误。完整的异常很可能包含更多信息。无论如何,一个名为
sqladmin的帐户听起来不像是任何服务都应该使用的东西 -
请发布完整异常文本,而不仅仅是消息。完整的异常文本包含任何内部异常和导致此错误的调用的堆栈跟踪。发布连接字符串(不包含敏感信息)也会有所帮助
-
非,凭据是正确的,因为我能够连接到 azure data studio,但我会向您展示异常:生成的异常:System.Private.CoreLib 中的“System.Data.SqlClient.SqlException” .dll
-
@PanagiotisKanavos 我已经修改了帖子并放了完整的eception
-
帖子包含 Stacktrace,但不包含异常详细信息。
标签: c# .net-core azure-functions azure-sql-database