2010-01-15 63 views
1

我试图运行从PostgreSQL数据库(8.4)获取数据C#应用程序和正在使用PostgreSQL的OLE DB提供程序数据库连接ASP.NET - PostgreSQL的

这是我的连接字符串

串connString = @“Provider = PostgreSQL OLE DB Provider; Data Source = localhost; location =; User ID =; password =; timeout = 1000”;

错误时得到的是

的“PostgreSQL的OLE DB提供程序” 供应商未注册的 本地机器

任何人都可以指出我在哪里,我应该纠正等以便连接到数据库。顺便使用PGOLEDBLib。

回答

0

尝试使用“PostgreSQL”或“PostgreSQL.1”作为提供程序属性。如果这样不起作用,您可能需要重新安装驱动程序。

1

您使用OLE DB提供程序的任何特定原因?我相信总体思路是,如果您使用本机.net提供程序 - 例如,您可以获得更好的性能,并且我认为它还具有功能。 http://npgsql.projects.postgresql.org/

+0

我已经使用了Npgsql并知道它的功能。我想使用其他提供者,没有特别的理由使用OLE DB提供者。但从我读过的使用OLE DB提供程序是更好的选择。 – Chaitanya 2010-01-17 01:46:06

+0

够公平的。虽然有AFAIK多个OLEDB适配器可用于PostgreSQL,但请确保您不选择基本停止开发的适配器。这可能只有专有选项可用 - 我不完全确定。但是这个“pgoledb”似乎在这个时候没有维护。 – 2010-01-17 10:25:53

+0

你可以在这里发表文章,你已经阅读它。 – yojimbo87 2010-01-17 10:32:17

2

我看过几个不同的“pgoledb”库。没有看起来真正被命名为“pgoledblib”,所以这个信息可能适用于您,也可能不适用于您。

most recently active PGOLEDB已经记录了它们的连接字符串属性here;看起来他们使用不同的提供者值 - “PGNP.1”。

Another provider,似乎已经languishing since 2006,有连接字符串here;这些符合OrbMan早先的建议。

当然,您可能会发现没有为这样的提供商付钱,导致付出很多安装,配置和使用上的麻烦。为了缓解这种头痛,我提供了一个链接到my employeroptions supporting ODBC, JDBC, and ADO.NET clients on many platforms