我在Visual Studio上运行了azure函数。该函数从Azure(SQL Server)上托管的SQL数据库返回一些数据,在localhost上工作正常,但是当我将它发布到azure时,它返回500错误。
在Azure SQL上,我检查了从其他Azure服务和我的IP地址的访问。
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": ""
},
"ConnectionStrings": {
"MySqlConnectionString": {
"ConnectionString":
"Server=tcp:webappgtoproject.database.windows.net,1433;Initial Catalog=database;Persist Security Info=False;User ID=xxx;Password=yyy;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;",
"providerName": "System.Data.SqlClient"
}
}
}
代码
string str = ConfigurationManager.ConnectionStrings["MySqlConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(str))
{
conn.Open();
// Check PC
string text2 = "command text";
using (SqlCommand cmd = new SqlCommand(text2, conn))
{
}
return true;
}
如果没有SQL连接,它在Azure上运行良好。
答案 0 :(得分:2)
local.settings.json
文件仅在本地运行时使用。您需要在App Settings中定义连接字符串(单击您的Function App并选择App Settings
链接)。