Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/35: Рейтинг темы: голосов - 35, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
MySQL

Мастер настройки источника данных выдает ошибку "You have a usable connection already"

02.06.2019, 19:39. Показов 7414. Ответов 46

Студворк — интернет-сервис помощи студентам
В общем, тема создавалась и поднималась в топике MySQL, но там проблему решить не удалось, даже полное перелопачивание всех коннекторов и разные пересборки также не дали никакого эффекта.

Итак, есть поставленная задача, которую нужно реализовать в связке MySQL + C#, база на MySQL уже имеется, была создана также тестовая, в общем, все, что нужно для проверки, было выполнено. Суть проблемы заключается в подключение и вызове данных с MySQL (ниже будут скриншоты всех этапов и ключевая ошибка, пожалуйста, не кидайте мне первые решения с гугла, и вторые тоже, все это было перепробовано, да и информация там старая, по большей части).

Сама БД была протестирована при помощи Heidi, так что косяк точно не в ней, да и WB нормально присоединяется. (Скрины работоспособности Heidi приложены в самом конце)

Для лучшего теста было создано еще и пустое консольное приложение, которое отправляло написанный вручную код с тривиальным запросом на сервер, а в ответ получало Open/Close консоль, безрезультатно в общем.

https://www.cyberforum.ru/atta... 1559330367
https://www.cyberforum.ru/atta... 1559330384
https://www.cyberforum.ru/atta... 1559330396
https://www.cyberforum.ru/atta... 1559330407

Heidi
https://www.cyberforum.ru/atta... 1559330249
https://www.cyberforum.ru/atta... 1559330261

Буду ползать на коленках перед тем гуру, что поможет справиться с проблемой.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.06.2019, 19:39
Ответы с готовыми решениями:

Мастер настройки источника данных
Я в аксессе создал запрос, он работает правильно, а когда его хочу подключить к visual studio возникает ошибка "При обработке объектов...

мастер настройки источника данных VS 2008
Кто-нибудь знает, из-за чего может быть такая вещь: при попытке подключиться к базе данных Access через мастер на 3 шаге (добавление...

Работа с базой данных, используя "Мастер настройки источника данных"
Ребят, помогите разобраться, бьюсь уже незнамо сколько.. Подключаюсь к базе данных через "Мастер настройки источника данных", как...

46
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
03.06.2019, 19:48  [ТС]
Студворк — интернет-сервис помощи студентам
Usaga, не знаю, поможет вам эта информация, или нет, но с MS SQL все просто прекрасно функционирует.

Добавлено через 10 минут
Someone007, Someone007, прошу прощения, забыл в буфер забросить финальный код и взял все с сайта, небольшие правки: передается один параметр и строка считывания консоли присутствует, также пробовал выводить сразу несколько через цикл, результат - Zero.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
03.06.2019, 19:51
Цитата Сообщение от Nimura Посмотреть сообщение
результат - Zero
Что вы имеете в виду?

Консоль все также закрывается даже при наличии вызова Console.ReadLine()?

Или в консоль выводится 0?
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
03.06.2019, 19:52  [ТС]
Someone007, ни результат, ни суть не меняются вне зависимости от танцев с бубном, увы и ах, но все же никакого результата. В общем, я вам и товарищу Usaga премного благодарен, но я уже подозреваю, что проблема конкретно в поцарапанных DLL Mysql (из-за постоянных поигрулек с коннекторами и папками), ибо это какая-то шутка, потому что с MS Sql, что через мастер, что через код - все работает прекрасно, соответственно, проблема конкретно на стороне My
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
03.06.2019, 23:14
Цитата Сообщение от Nimura Посмотреть сообщение
ни результат, ни суть не меняются вне зависимости от танцев с бубном, увы и ах, но все же никакого результата
Ну а всё таки, что же именно происходит при запуске того кода? Или вы не хотите разобраться в вашей проблеме?
0
Эксперт .NET
 Аватар для Usaga
14789 / 9562 / 1367
Регистрация: 21.01.2016
Сообщений: 36,057
04.06.2019, 05:34
Nimura, судя по коду, происходит именно то, о чём я ванговал в само первом посте: код отрабатывает нормально и консоль честно закрывается, ибо никаких Console.ReadLine в конце метода Main не указано.

Цитата Сообщение от Nimura Посмотреть сообщение
ибо это какая-то шутка, потому что с MS Sql, что через мастер, что через код - все работает прекрасно, соответственно, проблема конкретно на стороне My
MSSQL поддерживается студией из коробки по вполне понятным причинам: производитель один. Остальные СУБД интегрировать со студией нужно руками, но это не нужно в 99% случаев. Чтобы подключиться к MySQL без мастеров (от которых пользы не то, чтобы много) вам нужен только NuGet-пакет с провайдером.

Не надо спирать на MySQL собственное неумение. Я уже говорил вам, что лично у меня прекрасно получается подключиться к MySQL. И всё работало. Я, видимо, что-то сделал не так?
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 17:56  [ТС]
Usaga, вроде 2 теста прошли, а восприятие супер странное. Вы читать то толком не научились, именно это вы сделали не так. От тех же мастеров ( пользы от которых так мало :ccccc(нет) ) в большинстве случаев зависит интеграция в принципе БД, как таковой, в проект. Поглядел бы я на вас, когда требуется интегрировать множество разных таблиц не в консоль...

Да и вообще, так-то проблема действительно оказалась в MySQL.Data, который из-за постоянных переустановок и мучений оказался недееспособным и его пришлось заменять в папках вручную.

После чего, чтобы вообще избежать всех проблем, была поставлена полностью чистая операционка, на которую с нуля поставлен чистый пакет MySQL драйверов и VS 2017, на которой взаимодействие с консолью вполне нормальное. Но отсюда вылазит другой вопрос, МАСТЕР все также сломан, соответственно, интегрировать таблицы придется в ручную, чем заниматься - сплошной суицид, когда их много и они по разным формам. Да и тем более, если бы вы взглянули на скриншоты еще в самом начале топика, то выяснили бы, что соединение, как таковое, устанавливается даже через мастер, он не может подключиться конкретно к таблицам БД. И как решить эту проблему, за исключением целиком ручного прописывания кода - неизвестно (что тоже, еще не факт, что вообще получится). А это само по себе не является нормой, ибо ИС должна будет взаимодействовать сразу с несколькими таблицами, которые будут постоянно меняться и настраиваться, вы предлагаете постоянно с кодом в кошки-мышки играть?

Вы мне напоминаете человека из топика MySQL, который как такой же МЕГА-ОПЫТНЫЙ ПРАГРАММИСТ: "НУ У МЕНЯ ЖЕ РАБОТАЕТ, ЗНАЧИТ И ДРУГИХ ДОЛЖНО", только там мы пришли к консенсусу, что вина лежит не в моих "кривых" руках, а чем-то связана с самим MySQL. Ибо эта проблема возникает у многих, а решение у всех разное, а те, кому все же удалось решить проблему, сами не знают как. "Ну, вроде поставил наоборот и все заработало" или "Ну, вроде переставил 10 с последним пакетом и все норм стало", но на деле, большинство проблему решает не просто через костыли, а через попку. Тем более, что их решение в 90% случаев является нелегитимным.

И что значит у вас все работает? Вы подключаетесь напрямую через код, когда сама СУТЬ топика в подключении и последующем взаимодействие с ИНТЕРФЕЙСОМ. Мы вообще на консоль переключились только потому, что она тоже не работала.

Добавлено через 4 минуты
Someone007, в проблеме разобраться хочу, но как такового отношения она к консоли не имеет. Как уже сказал выше, оказался косяк в dat'е, и на полностью чистом устройстве, специально под Mysql, все работает нормально. Но это никак не отменяет факта траблов мастера, я себе голову расшибу добавлять весь тот массив таблиц на формы вручную (если это вообще возможно, еще не было возможности попробовать, вполне вероятно, что через код я схвачу ту же ошибку). Да и тут уже дело личного интереса, я просто понять не могу, почему возникает эта ошибка, охота разобраться и выявить хотя бы какое-то дееспособное решение.

Добавлено через 2 минуты
Usaga, а, да, забыл добавить, что ваше вангование было не к месту, прочли бы вы то, что написано в диалоге выше, между мной и пользователем Someone007, подобных "провидений" в вашей голове не возникало бы.

Добавлено через 3 минуты
Usaga, не воспринимайте мои слова как личное оскорбление, но впихивание еще одного костыля, который в реальных условиях выльется в еще большие проблемы, не является решением самой проблемы, хоть и сама суть современного программирования это подразумевает.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
04.06.2019, 18:01
Цитата Сообщение от Nimura Посмотреть сообщение
VS 2017
VS2017 со всем обновлениями? VS2019 пробовали? Там проблема с мастером тоже проявляется?

Есть вероятность что MS где-то накасячили и проблема именно в мастере...
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 18:10  [ТС]
Someone007, VS 2017 со всеми обновления (Enterprise), но пробовал и с Community. VS 2019 тоже пробовал еще на начальных этапах, как мне помнится, там косяк был вообще с тем, что VS попросту не видела драйвер, но точно сказать не могу, из головы вылетело, хотя, я сомневаюсь, что проблема решится путем обновки до 2019. Я даже специально устанавливал 2017 версию, ибо с 2019 вообще решений даже в тырнете не было. Ну, я все же еще раз попробую поставить 2019, авось чего получится, но крайне сомневаюсь в этом.
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
04.06.2019, 18:31
...я сейчас, возможно, глупую вещь скажу, только вы не обижайтесь ... ... а подключиться не root-ом (создать пользователя в MySQL) не пробовали ...?
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 19:27  [ТС]
carrotik, эх, да кого я только не создавал, и много юзеров болванок, и юзера Админа, и тд. результат - О.

Добавлено через 51 минуту
Someone007, сейчас вспомнил почему VS 2019 не видела MySQL, она ведь по умолчанию не поддерживается коннекторами MySQL . Вот поэтому 2017 и устанавливал :/
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
04.06.2019, 20:24
Вам точно этот мастер нужен? Что вы им хотите сделать? У меня без всяких мастеров на VS2019 все ок работает...

Всего лишь установил с nuget пакет MySql.Data.EntityFrameworkCore 8.0.16 для Code First. Никаких коннекторов и прочего вообще не требуется...

Для Database First описано тут, а именно устанавливаете пакеты MySql.Data.EntityFrameworkCore, Microsoft.EntityFrameworkCore.Tools, Microsoft.EntityFrameworkCore.Design, затем выполняете команду в Package Manager Console
Code
1
Scaffold-DbContext "server=адрес_сервера_mysql;port=3306;user=имя_юзера_mysql;password=пароль;database=имя_базы_mysql" MySql.Data.EntityFrameworkCore -OutputDir название_папки_куда_будут_сохранены_модель_и_контекст -f
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 20:40  [ТС]
Someone007, 146 таблиц, каждая из которых поддерживает множественные связи между собой, я просто не уверен, что осилю полноценное написание кода для интерфейсов и форм вручную. Поэтому, конечно, хотелось бы мастер, а так к MySQL можно подключиться откуда угодно, имея лишь нужные пакеты на руках, но ключевую проблему это, опять же, не решает.

Добавлено через 6 минут
Someone007, одно дело, когда нужно просто присоединиться да вывести парочку результатов в консоль/текстбоксы, я бы даже не задумывался и проблемы не возникло бы. Но в данный момент нужен тяжеловесный интерфейс, а мастер удобен тем, что при полноценной работоспособности может автоматически сохранять связи и прочие параметры, когда как при написании вручную, все это придется учитывать.

Добавлено через 4 минуты
Someone007, я точно не боженька шарпа, чтобы вручную, и при этом быстро, осилить такой код. Единственное, что я уже накидал пару идей, как попытаться обойти эту проблему при помощи подгрузки самой БД на кнопки, но даже так кол-во кода не сильно проседает. Да, по большей части он будет однообразен и заменяться там будут лишь некоторые параметры, но гора потенциальных ошибок и тонна текста, когда мастер может решить проблему за меня в 2 счета все же берет верх. Именно поэтому и хочу его настроить :c
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
04.06.2019, 21:08
Цитата Сообщение от Nimura Посмотреть сообщение
146 таблиц, каждая из которых поддерживает множественные связи между собой, я просто не уверен, что осилю полноценное написание кода для интерфейсов и форм вручную.
Ну так Scaffold-DbContext вам сгенерирует модель вашей базы данных со всеми таблицами, связями (на самом деле про связи не уверен, т.к. у вас Database First, а не Code First) и т.д... Вам останется только забиндить получившуюся модель к вашим формам так как вам нужно...
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 21:37  [ТС]
Someone007, сейчас попробую, нужно 2019 поставить быстренько.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
04.06.2019, 21:46
Цитата Сообщение от Nimura Посмотреть сообщение
сейчас попробую, нужно 2019 поставить быстренько
Это можно и в VS2017 попробовать.
0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
04.06.2019, 22:53  [ТС]
Someone007, у меня вообще никакой нет под рукой в данный момент) а 2019 поставить проще и быстрее всего

Добавлено через 49 минут
Someone007, допустим сгенерил, а прибиндить мне их как?

Добавлено через 2 минуты
Someone007, я вижу в обозревателе конкретно весь пак тех таблиц, что я выбрал, но как их в VS 2019 прибиндить к гридам?
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
04.06.2019, 23:06
Лучший ответ Сообщение было отмечено Nimura как решение

Решение

Цитата Сообщение от Nimura Посмотреть сообщение
но как их в VS 2019 прибиндить к гридам?
Например так...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;
using System.Windows.Forms;
 
namespace WindowsFormsAppMySQL
{
    public partial class Form1 : Form
    {
        // ApplicationContext это класс, который вам сгенерировал Scaffold-DbContext
        private ApplicationContext db;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            db = new ApplicationContext();
            // свойство Users в модели соответствует таблице users в БД...
            db.Users.Load();
            dataGridView1.DataSource = db.Users.Local.ToBindingList();
        }
    }
}
C#
1
2
3
4
5
6
7
8
9
    public class ApplicationContext : DbContext
    {
        public DbSet<User> Users { get; set; }
 
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySQL("server=localhost;UserId=root;Password=root;database=usersdb2;");
        }
    }
0
Эксперт .NET
 Аватар для Usaga
14789 / 9562 / 1367
Регистрация: 21.01.2016
Сообщений: 36,057
05.06.2019, 06:07
Лучший ответ Сообщение было отмечено pincet как решение

Решение

Цитата Сообщение от Nimura Посмотреть сообщение
Поглядел бы я на вас, когда требуется интегрировать множество разных таблиц не в консоль...
Что значит "интегрировать не в консоль"? По вашему мнению, хождение в базу из WinForms или ASP.NET чем-то принципиально отличается и тут в обязательном порядке нужен мастер в VS? Сходить в базу руками через ADO.NET или через любую ORM это уже зависит от типа проекта? Если вам какой-то мастер не сгенерирует типизированных DataSet'ов или классов, то вручную их самостоятельно написать уже никак не можно и это помешает вам DataGridView какой-то наполнить?

Цитата Сообщение от Nimura Посмотреть сообщение
была поставлена полностью чистая операционка, на которую с нуля поставлен чистый пакет MySQL драйверов и VS 2017,
Дичь полная. Всё, что нужно для взаимодейтсвия с MySQL без мастеров - NuGet-пакет провайдера MySQL. Его установка\переустановка не требует сноса ОС, ибо речь о паре библиотек в вашем проекте.

Я попытался до вас донести простую вещь: вам мастер в студии на фиг не нужен. И способ хождения в базу никак не диктуется типом проекта, будь то консоль или WPF - всё одинаково.
0
05.06.2019, 12:49

Не по теме:


Imho, тролль некий неопытный скиллы повышает.
Подгрузка БД на кнопки доставляет особенно

0
0 / 0 / 0
Регистрация: 06.09.2017
Сообщений: 49
05.06.2019, 18:17  [ТС]
Someone007, Scaffold сгенерил mainContext : DbContext класс, но при этом во время привязки c# не считывает сам класс :/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.06.2019, 18:17

C# и MySQL ошибка: You have a usable connection already
Доброго времени суток! Есть такая проблема, не могу никак ее решить: Пытаюсь подключить проект на C# к базе на MySQL через обозреватель...

проблема сдоступом к БД через ADO в ASP: на ASP выдает ошибку что не может найти имя источника данных и драйвер
не могу подключиться к БД (которая лежит на сетевом диске) прописаной в ODBC через ASP хотя на VB6.0 тот же код работает отлично нормально...

Ошибка на этапе выбора таблицы: Не удалось авт-ски создать команды обновления. You have a usable connection
Уважаемые форумчане, столкнулся с такой проблемой. Есть БД на MySQL и есть приложение на VS2017 C#. Когда я пытаюсь добавить БД (через...

После настройки postfix выдаёт "Connection refused"
centos 6 ставлю postfix по этому мануалу: http://www.firewing1.com/howtos/servers/centos5/mail при попытке соединения в...

Как из мастера настройки источника данных удалить ненужные подключения?
Здравствуйте! Подскажите пожалуйста, как из мастера настройки источника данных удалить ненужные подключения?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru