您好我有与this post相同的问题,但没有提供发布的答案(没有示例代码),所以我会开始一个新的线程,并问你们。AWS Lambda - 无法连接到SQL Server RDS
我创建了一个AWS无服务器应用程序(.NET核心)项目为我们的lambda函数和下面的代码是我用来在AWS RDS连接。
string ConnectionString = "Data Source=rds4abc1190.asdfqwerqb9l.us-east-1.rds.amazonaws.com,2855;Initial Catalog=MyDatabase;Persist Security Info=True;User ID=myID;Password=mypassword;Encrypt=False";
using (var Conn = new SqlConnection(ConnectionString))
{
using (var Cmd = new SqlCommand("SELECT * from Customer", Conn))
{
Conn.Open(); //<-- this is where the error fires.
SqlDataReader rdr = Cmd.ExecuteReader();
while (rdr.Read())
{
myDbItems.Add(rdr[1].ToString());
}
Conn.Close();
}
}
使用上面的代码在本地机器上运行时,工作正常,但如果部署在AWS API网关,该代码就会出错。
“ERRORTYPE”:“SQLEXCEPTION”,“的errorMessage”:“连接超时过期时后登录阶段超时时间已过的连接可能超时的同时等待服务器完成登录过程和响应;或者尝试创建多个活动连接时可能超时;试图连接到此服务器的时间是[预登录]初始化= 781;握手= 1957; [登录]初始化= 40;身份验证= 122;后登录]完整= 12219;”
您的lambda是否驻留在与有权访问SQLServer RDS子网的SQLServer在同一个VPC中的VPC子网内部? – Ashan