0

私のプロジェクトをAmazon AWS SqlServerからGoogleクラウドMySQLに移行しています。 Googleのクラウドの接続文字列

私の作業アマゾンAWS列:

<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" /> 

マイ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> 

私のコンテキストクラス:

私はそのようなGoogleクラウド文字列を作成しようとしました

<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" /> 

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; } 

    } 
} 

しかし、動作していません。誰かが私が間違っていることを知っていますか?

おかげ

答えて

1

模倣-ブレードMYID:私たち-central1:私のインスタンスが有効なサーバー名ではありません:コロン(:)は許可されていません。 IPv4アドレスを使用して接続する必要があります。このアドレスは、インスタンス概要でhttps://console.cloud.google.com/sql/instances

も参照してください。https://cloud.google.com/sql/docs/mysql/connect-compute-engineも参照してください。さらに、接続文字列の詳細については

はおそらくMySQLのコネクタを必要とする

https://www.connectionstrings.com/mysql/を参照してください。 https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html

+0

私はproviderName = "System.Data.SqlClient"を保持していることに気付きました。MySQLプロバイダとは何ですか? – user6824563

+0

@ user6824563 .netでMySql.Data.MySqlClientを使用するには、mySqlコネクタを別途インストールする必要があります。 – realbart

+0

まだ動作していないhttps://dev.mysql.com/doc/connector-net/en/connector-net-introduction.htmlを参照してください。コンテキストクラスとエンティティフレームワークを追加してポストを編集しました。 – user6824563