部署时Google App Engine灵活的C#与Cloud SQL SQL Server的连接问题

问题描述

尝试部署到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问题。但是现在可以了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...