MySQL и .NET:Система.Исключение ArgumentException:Формат строки инициализации не соответствует спецификации, начинающейся с индекса 0
Вопрос
Я хотел использовать SubSonic, поскольку там говорилось, что это будет просто в использовании и сэкономит время.
После 3-часовых попыток получить правильную строку подключения для MySQL я собираюсь отказаться от этого.
Building configuration from C:\Documents and Settings\user\My Documents\Visual Studio 2
008\Projects\ConfigurationItems\ConfigurationItemsMVC\Web.config
Adding connection to MySqlDataProvider
ERROR: Trying to execute generate
Error Message: System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.
Я не могу изменить это:Сообщение об ошибке:Система.Исключение ArgumentException:Формат строки инициализации не соответствует спецификации, начинающейся с индекса 0.
Я получаю это каждый раз, когда пытаюсь запустить subsonic.exe / generate
ВСЕ ЭТО КАЗАЛОСЬ ТАКИМ ПРОСТЫМ!!!
Вот мой Web.Config
<!-- connectionString="Persist Security Info=False;database=config;server=localhost;user id=config;Password=config" -->
<connectionStrings>
<remove name="ConfigConnectString"/>
<add name="ConfigConnectString" connectionString="Persist Security Info=False;database=config;server=localhost;user id=userid;Password=password" providerName="MySql.Data.MySqlClient"
/>
</connectionStrings>
<SubSonicService defaultProvider="ConfigDatabase">
<providers>
<add type="SubSonic.MySqlDataProvider, SubSonic"
name="MySqlDataProvider"
generatedNamespace="Config"
connectionStringName="ConfigConnectString"
/>
</providers>
</SubSonicService>
Я кое-что перепробовал:
- Указываем путь к webconfig с помощью /config в пути к внешнему инструменту.
- Понижение версии с 6.0 .NET MySQL connector до последней версии 5.2 в соответствии с примерами.
- Добавление MySQL.Данные в качестве ссылки направляются непосредственно из папки SubSonic в библиотеку DLL, находящуюся там.
- Пробуем различные форматы строки подключения, основанные на http://www.connectionstrings.com/mysql#28
( другая строка подключения:"Сервер = локальный хост; База данных= конфигурация; Uid= пользователь; Pwd = пароль;" - также "бла" / "что угодно" выдает ту же ошибку ...)
Никакой радости!Очень близок к тому, чтобы отказаться от дозвуковой скорости.Пожалуйста, помогите, если можете!
Кстати, я использую Subsonic 2.2
Решение
Я идиот:
<SubSonicService defaultProvider="ConfigDatabase">
Должно быть:
<SubSonicService defaultProvider="MySqlDataProvider">
Дох!
Другие советы
Я предполагаю, что это ожидает '{0}
'где-нибудь, поскольку это ошибка, которую вы получаете, когда забываете (IIRC).
Проверьте этот блог для получения дополнительной информации о формате строки инициализации