Я пытаюсь подключиться к существующей базе данных MySQL из Lightswitch RTM через службу WCF RIA.
Я сделал следующее:
- Установите MySQL коннектор версия 6.3.7 из зоны разработки MySQL на моей машине разработки.Последняя версия 6.4.3, похоже, не работает и выдает ошибку «Несинхронизировано с сервером» при установлении соединения из Visual Studio.
- Проверьте соединение из Visual Studio, создав новое соединение для передачи данных,выбор базы данных MySQL в качестве поставщика и предоставление IP-адреса сервера MySQL, имени пользователя и пароля.
Это работает, и БД отображается правильно.
Затем я следовал инструкциям здесь , чтобы использовать создание службы RIA WCF:
- Добавить новый проект в решение на основе шаблона Библиотека классов служб RIA WCF .
Добавить модель данных сущности ADO.NET ввеб-проект WCF RIA и с помощью мастера подключите его к базе данных MySQL.Сгенерированная строка подключения: metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient;provider connection string="server=10.192.xx.yy;User Id=xxxxxxx;database=projet;password=xxxxxxxxxx;Persist Security Info=True"
.
Добавьте доменную службу к веб-проекту WCF RIA.
Это работает правильно.Диаграмма сущностей показывает три выбранные таблицы базы данных со всеми полями.
Затем я подключил службу RIA WCF к коммутатору освещения, следуя этому уроку здесь :
- В проекте Lightswitch создайте новый источник данных и присоедините его к службе RIA WCF
- Добавьте ссылку на веб-проект WCF RIA и выберите необходимые данныеисходные объекты.Это работает, и объекты источника данных правильно импортируются.
- Наконец, скопируйте строку подключения из файла App.config веб-проекта WCF RIA в файл web.config в сгенерированном сервером проекте проекта Lightswitch.Строка:
<add name="b70821ef-..." connectionString="metadata=res://<em>/Model.csdl|res://</em>/Model.ssdl|res://*/Model.msl;provider=MySql.Data.MySqlClient;provider connection string="server=10.192.xx.yy;User Id=xxxxxxx;database=projet;password=xxxxxxx;Persist Security Info=True"" providerName="System.Data.EntityClient"/>
Решение может быть построено без ошибок.Однако при запуске приложения Lightswitch на экране сведений для таблицы MySQL отображается только красный крестик и указывается, что он не может загрузить данные.
Я подозреваю, что строка подключения, вставленная в web.config, неверна.
Что является неправильным / отсутствует в вышеупомянутом подходе или как я могу изолировать и отладить проблему?