Я собираю приложение, которое подключается к базе данных vfp. У меня все работает нормально, если я определяю строку подключения в файле app.config -
<add name="vFoxProSource" connectionString="Provider=vfpoledb;Data Source=C:\directory\database.dbc;Collating Sequence=machine;" providerName="System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
В конечном итоге путь к источнику будет динамическим, поэтому я пытаюсь определить строку подключения с помощью ConnectionStringSettings. У меня есть следующий код -
ConnectionStringSettings vfpConnectionStringSettings = new ConnectionStringSettings();
vfpConnectionStringSettings.ProviderName = "System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
vfpConnectionStringSettings.ConnectionString = ".. my connection string...";
Когда я запускаю этот код, я получаю следующую ошибку -
The 'System.Data.OleDb.OleDbConnection, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' provider is not registered on the local machine.
Я даже пытался извлечь имя поставщика непосредственно из строки подключения, которая работает успешно, но я получаю ту же ошибку. Кто-нибудь знает, почему он работает в одну сторону, а не в другую?
Спасибо