У меня есть веб-API, размещенный на Heroku. Он обслуживает данные из ClearDB через программу Golang. У меня есть сценарий C#. NET, который должен будет вставить данные в эту ClearDB. У меня была эта идея, работающая на моей локальной машине, но когда я переместил все на heroku, часть C# перестала работать.
Мне удалось подключиться к MySQL Workbench 8.0 и к самой моей программе Golang. Программа GO может успешно подключаться, запрашивать и обслуживать данные.
Я знаю, что есть много других подобных вопросов, и большинство из них, похоже, решаются с помощью строки подключения. Я попробовал почти ВСЕ различные способы, которыми вы можете натянуть строку подключения. Это то, что я в последний раз пробовал (учетные данные были изменены на случайные буквы):
connectionData = @"Server = eu-cd-steel-west-01.cleardb.net; Port = 3306; Database = heroku_555555555; Uid = b7039sldk253; Pwd = e3502ldks;";
Ошибка, которую я получаю, возникает при запуске:
connection = new MySqlConnection(connectionData);
connection.Open();
Ошибка:
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts.
---> System.InvalidOperationException: Sequence contains more than one matching element
at System.Linq.ThrowHelper.ThrowMoreThanOneMatchException()
at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at MySql.Data.Common.StreamCreator.GetTcpStream(MySqlConnectionStringBuilder settings)
at MySql.Data.Common.StreamCreator.GetStream(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.NativeDriver.Open()
at MySql.Data.MySqlClient.Driver.Open()
at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings)
at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()
at MySql.Data.MySqlClient.MySqlPool.GetConnection()
at MySql.Data.MySqlClient.MySqlConnection.Open()
at DatabaseTesting.DataBaser.connect() in C:\Users\surf.user\source\repos\DatabaseTesting\DatabaseTesting\DataBaser.cs:line 38
Я понимаю, что есть учетные данные SSL и все виды вещей, но я склонен полагать, что это не имеет значения, поскольку мне не нужно было настраивать что-то специальное для подключения в рабочей среде. Что еще нужно сделать, чтобы успешно открыть соединение ClearDB на C#?