首页 > 解决方案 > 部署时 Google App Engine 灵活 C# 连接到 Cloud SQL SQL Server 问题

问题描述

尝试部署到 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

我的 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;"
  }

标签: c#sql-serverasp.net-coregoogle-cloud-sqlapp-engine-flexible

解决方案


我发现我得到的错误有点误导。我MultipleActiveResultSets=true从连接字符串中删除时工作。我还必须更正我的代码以帮助解决 MARS 应用中的问题。但现在它起作用了。


推荐阅读