所以我有以下连接字符串,这是我的问题。我试图编写一个能够作为数据库不可知的应用程序(困难但不是不可能),我已经开始在PostgreSQL上测试它,但是我似乎无法获得OLE连接来使用它。从我所看到的完全有可能。与OLE数据库连接使用Npgsql提供程序
我得到了一切使用PostgreSQL的特定类工作,但这使用Npgsql类型而不是通用OLE类型。
E.g. private NpgsqlCommand m_postgreSQLDatabaseCommand;
而不是 私人OleDbCommand m_oleDatabaseCommand;
这在我的情况下是不能接受的。
我试着简单地改变连接字符串来使用Npgsql提供程序,但我不确定是否正确使用它。我得到的错误如下:
连接字符串:
<add name="ApplicationPostgresDefault"
connectionString="Server=127.0.0.1;Port=5432;
Database=myDatabase;
User Id=myUser;
Password=myPass;
Provider=Npgsql"
/>
错误:
The 'Npgsql' provider is not registered on the local machine.
可以做些什么来解决这个问题?
如果我在那里正确地获取提供程序,我是否能够像使用Npgsql对象一样与PostgreSQL通信?
那么使用Ole的原因是我不会意识到这个平台,因此不能硬编码任何东西。对通用连接方法的需求是至关重要的。数据库平台的唯一以前的知识将通过web.config或app.config条目。这意味着我无法为每个平台硬编码我的代码的不同版本。我的软件必须不知道数据库平台,并且能够以任何(众所周知的)格式运行。提供者似乎是唯一的选择。谢谢 – CSharpened 2012-03-29 11:12:05
另外你如何安装提供商?我下载的npgsql文件夹中没有exe文件。 – CSharpened 2012-03-29 12:24:46
从这里下载提供者: http://pgfoundry.org/frs/?group_id=1000140 – 2012-03-29 16:05:47