0

Ich migriere mein Projekt von Amazon AWS SqlServer zu Google Cloud MySQL.ASP.NET Verbindungszeichenfolge für Google Cloud

Meine Arbeits Amazon AWS string:

<add name="MyContext" connectionString="Server=sql-test.myid.us-west-2.rds.amazonaws.com,3306;Database=myDB;User ID=root;Password=123456;Min Pool Size=5;Max Pool Size=20;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;" providerName="System.Data.SqlClient" /> 

ich so eine Google Cloud-String zu erstellen versucht:

<add name="MyContext" connectionString="Server=ip,3306;Database=myDB;User ID=root;Password=123456;Min Pool Size=5;Max Pool Size=20;MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;" providerName="MySql.Data.MySqlClient" /> 

Mein EntityFramework:

<entityFramework> 
    <defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" /> 
    <providers> 
     <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" /> 
    </providers> 
    </entityFramework> 

Meine Kontextklasse:

using System; 
using System.Collections.Generic; 
using System.Data.Entity; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using MyProject.Models.Tables; 

namespace MyProject.Context 
{ 
    class MyContext : DbContext 
    { 
     public DbSet<Property> Properties { get; set; } 
     public DbSet<PropertyType> PropertyTypes { get; set; } 
     public DbSet<Country> Countries { get; set; } 
     public DbSet<State> States { get; set; } 
     public DbSet<City> Cities { get; set; } 
     public DbSet<Zip> Zips { get; set; } 

    } 
} 

Aber es funktioniert nicht. Weiß jemand was ich falsch mache?

Dank

Antwort

1

Mimetikum-Klinge-myid: us-central1: my-Instanz ist kein gültiger Servername: Doppelpunkte (:) sind nicht erlaubt. Sie sollten eine Verbindung über die IPv4-Adresse herstellen. Sie können diese Adresse in Ihrer Instanzübersicht unter https://console.cloud.google.com/sql/instances

sehen. Siehe auch https://cloud.google.com/sql/docs/mysql/connect-compute-engine.

Für weitere Details siehe Anschlussschnur https://www.connectionstrings.com/mysql/

Sie wahrscheinlich den MySQL Connector benötigen. siehe https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html

+0

Dank ... Ich habe auch gerade festgestellt, dass ich providerName = "System.Data.SqlClient" gehalten Was ist der MySQL-Anbieter? – user6824563

+0

@ user6824563 Sie müssten den mySql-Connector separat installieren, um MySql.Data.MySqlClient in .net zu verwenden. Siehe https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html – realbart

+0

Es funktioniert immer noch nicht. Ich habe den Post bearbeitet, indem ich meine Kontextklasse und das Entitätsframework hinzugefügt habe. – user6824563

Verwandte Themen