我正在整理一个连接到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.
我甚至尝试直接从成功运行的连接字符串中提取名称,但是我得到了同样的错误。有没有人知道它为什么单向工作,而不是另一个?
由于
答案 0 :(得分:2)
此处的问题证明是连接字符串的问题,而不是ProviderName。由于它在ProviderName上出错,我错误地认为这是一个问题,但连接字符串中缺少一块。
感谢
答案 1 :(得分:0)
将来可能会帮助您的一个网站是http://connectionstrings.com/