Ошибка The provider did not return a ProviderManifestToken string

Обсуждение возникших проблем, предложений и ошибок MyDAC компонентов
Закрыто
RomaKiev1
Сообщения: 4
Зарегистрирован: Пн 25 ноя 2013 17:57

Ошибка The provider did not return a ProviderManifestToken string

Сообщение RomaKiev1 » Пн 25 ноя 2013 18:08

При попытке создать базу данных с нуля на основе code first entity framework, выбрасывает исключение The provider did not return a ProviderManifestToken string. ( Внутреннее исключение: Unknown database devarttest ) То есть база данных не создается.

Моя строка подключения:

Код: Выделить всё

 <add name="CallTrackingDBContext" connectionString="server=192.168.137.118; User Id=root;  Pwd = password;  CharSet=utf8; Persist Security Info=True;  database=devarttest;" providerName="Devart.Data.MySql" />
С чем это может быть связано?

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Ср 27 ноя 2013 18:40

Чтобы провайдер самостоятельно создавал новую базу данных, задайте, пожалуйста, опцию:

Код: Выделить всё

    var config = Devart.Data.MySql.Entity.Configuration.MySqlEntityProviderConfig.Instance;
    config.DatabaseScript.Schema.DeleteDatabaseBehaviour = Devart.Data.MySql.Entity.Configuration.DeleteDatabaseBehaviour.Database;
Влияет на CreateDatabase()/DeleteDatabase() функциональность.
В этом режиме учитывается только значение параметра Database в connection string: именно эта БД создаётся/удаляется, если надо.

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Ср 27 ноя 2013 18:43

Настройки Entity Framework провайдера можно задавать не только в коде, но и через *.config файл приложения: http://www.devart.com/dotconnect/mysql/ ... ation.html.

RomaKiev1
Сообщения: 4
Зарегистрирован: Пн 25 ноя 2013 17:57

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение RomaKiev1 » Чт 05 дек 2013 11:16

Спасибо за помощь. Ваш ответ решил мою проблему

RomaKiev1
Сообщения: 4
Зарегистрирован: Пн 25 ноя 2013 17:57

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение RomaKiev1 » Чт 05 дек 2013 14:07

Ошибка The provider did not return a ProviderManifestToken string больше не появляется, но при этом выскакивает exception: "Specified key was too long; max key length is 767 bytes". Если использовать поставщик MySql.Data.SqlClient, то все в порядке. Но надо использовать именно devart. Установка innodb_large_prefix = on в настройках Mysql ничего не дало.

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Пт 06 дек 2013 12:12

Мы воспроизвели и исследуем проблему. Она проявляется только на серверах с юникодовской кодировкой (UTF8/UTF16/UTF32). Мы сообщим Вам о результатах нашего исследования.

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Ср 11 дек 2013 13:26

Исправлена проблема с созданием первичного ключа в таблице __MigrationHistory для EFv6 в базах с юникодовской кодировкой. Мы сообщим здесь, когда следующий публичный билд dotConnect for MySQL будет доступен для скачивания.

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Чт 12 дек 2013 14:50

Новый (8.2.55) билд dotConnect for MySQL доступен для скачивания: http://forums.devart.com/viewtopic.php?f=2&t=28504.

RomaKiev1
Сообщения: 4
Зарегистрирован: Пн 25 ноя 2013 17:57

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение RomaKiev1 » Ср 18 дек 2013 11:52

Подключил новую версию dotconnect (8.2.55.0), но при попытке создать новую БД на основе модели, выбрасывает следующее исключение:

The 'Instance' member of the Entity Framework provider type 'Devart.Data.MySql.Entity.MySqlEntityProviderServices, Devart.Data.MySql.Entity, Version=8.2.55.0, Culture=neutral, PublicKeyToken=09af7300eec23701' did not return an object that inherits from 'System.Data.Entity.Core.Common.DbProviderServices'. Entity Framework providers must inherit from this class and the 'Instance' member must return the singleton instance of the provider. This may be because the provider does not support Entity Framework 6 or later; see http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

Что можно сделать?

Shalex
Devart Team
Сообщения: 19
Зарегистрирован: Пт 12 апр 2013 14:48

Re: Ошибка The provider did not return a ProviderManifestToken string

Сообщение Shalex » Чт 19 дек 2013 11:29

Зарегистрировали ли Вы EFv6-провайдер для dotConnect for MySQL как это описано здесь: http://blog.devart.com/entity-framework ... force.html? Убедитесь, пожалуйста, также, что версия провайдера, указанная в *.config, совпадает с фактически используемой вашим приложением.

Закрыто