问题描述
尝试部署到AppEngine时遇到此问题。在使用代理的本地计算机上工作正常。
Microsoft.EntityFrameworkCore.Database.Connection [20004]
建立与sql Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将sql Server配置为允许远程连接。 (提供者:TCP Provider,错误: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
我的app.yaml:
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问题。但是现在可以了。