我正在组合一个连接到 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.
我什至尝试直接从成功运行的连接字符串中提取提供程序名称,但我得到了同样的错误。有谁知道为什么它以一种方式工作,而不是另一种?
谢谢