我在尝试部署到AppEngine时遇到了这个问题。在使用代理的本地机器上,它运行良好。
Microsoft.EntityFrameworkCore.Database.Connection[20004]
建立与SQL Server的连接时发生与网络相关或实例特定的错误。找不到或无法访问服务器。请验证实例名称是否正确,以及SQL Server是否已配置为允许远程连接。(提供程序:TCP提供程序,错误:40-无法打开与SQL Server的连接(
使用与服务器"cloudsql"上的数据库"dblivtron"的连接时出错。
我的配置:
Appengine Flexible API = enabled
Cloud SQL Admin API = enabled
Instance public address = enabled
Instance Connection Name: livtron-testproject:europe-west1:livtrondbinstance
Database: dblivtron
我的应用程序:
runtime: custom
env: flex
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
beta_settings:
cloud_sql_instances: livtron-testproject:europe-west1:livtrondbinstance=tcp:3306'
我在appsettings.json 中的连接字符串
"ConnectionStrings": {
"DefaultConnection": "Server=cloudsql;Database=dblivtron;User Id=sqlserver;Password=#####;MultipleActiveResultSets=true;Encrypt=false;Pooling=true;"
}
我发现我得到的错误有点误导。当我从连接字符串中删除MultipleActiveResultSets=true
时,我就工作了。我也必须纠正我的代码,以帮助应用MARS问题。但现在它起作用了。