user6824563
user6824563

Reputation: 815

ASP.NET Connection string for google cloud

I'm migrating my project from Amazon AWS SqlServer to Google cloud MySQL.

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

I tried to create a Google Cloud string like that:

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

My 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>

My context class:

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

    }
}

But it is not working. Does anyone know what I'm doing wrong?

Thanks

Upvotes: 0

Views: 1859

Answers (1)

realbart
realbart

Reputation: 3994

mimetic-blade-myid:us-central1:my-instance is not a valid server name: colons (:) are not allowed. You should connect using the IPv4 address. You can see this address in your instance overview at https://console.cloud.google.com/sql/instances

See also https://cloud.google.com/sql/docs/mysql/connect-compute-engine.

For further connection string details see https://www.connectionstrings.com/mysql/

You probably need the MySql connector. see https://dev.mysql.com/doc/connector-net/en/connector-net-introduction.html

Upvotes: 1

Related Questions