1

我正在组合一个连接到 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.

我什至尝试直接从成功运行的连接字符串中提取提供程序名称,但我得到了同样的错误。有谁知道为什么它以一种方式工作,而不是另一种?

谢谢

4

2 回答 2

2

这里的问题原来是连接字符串的问题,而不是 ProviderName 的问题。由于 ProviderName 出错,我错误地认为那里有问题,但连接字符串中缺少一块。

谢谢

于 2010-10-29T18:23:44.030 回答
0

http://connectionstrings.com/是一个将来可能对您有所帮助的网站

于 2010-10-29T19:05:36.487 回答