2010-10-29 2 views
0

Я собираю приложение, которое подключается к базе данных vfp. У меня он работает нормально, если я определяю мою строку подключения в файле app.config -проблемы с подключением базы данных visual foxpro

<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. 

Я даже пытался потянув имя поставщика непосредственно из строки подключения, успешно работает , но я получаю ту же ошибку. Кто-нибудь знает, почему он работает в одном направлении, но не в другом?

Благодаря

ответ

1

вопрос здесь оказался проблема со строкой подключения, а не ProviderName. Поскольку это было ошибкой в ​​имени ProviderName, я неправильно предположил, что это проблема, но в строке соединения отсутствовала часть.

благодаря