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.
正常に機能している接続文字列からプロバイダー名を直接取得しようとしましたが、同じエラーが発生します。なぜそれが一方の方法で機能しているのに、もう一方の方法では機能していないのか、誰かが知っていますか?
ありがとう