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