数据库连接ASP.NET - PostgreSQL

时间:2010-01-15 22:48:01

标签: asp.net postgresql ado.net connection-string

尝试运行从PostgreSQL数据库(8.4)获取数据并使用PostgreSQL OLE DB提供程序的C#应用​​程序

这是我的连接字符串

  

string connString =   @“Provider = PostgreSQL OLE DB   提供商;数据   源=本地主机;位置=;用户   ID =;密码=;超时= 1000" ;

我得到的错误是

  

'PostgreSQL OLE DB提供程序'   提供者未注册   本地机器

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

4 个答案:

答案 0 :(得分:2)

我见过几个不同的“pgoledb”库。没有人实际上被命名为“pgoledblib”,因此这些信息可能适用于您,也可能不适用于您。

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

Another provider,似乎是languishing since 2006,具有连接字符串here;这些都符合OrbMan先前的建议。

当然,您可能会发现,为这样的提供商支付任何费用都会导致在安装,配置和利用率方面付出很多代价。为了缓解这些令人头疼的问题,我提供了my employer options supporting ODBC, JDBC, and ADO.NET clients on many platforms的链接。

答案 1 :(得分:1)

您使用OLE DB提供程序的任何特殊原因?我相信一般的想法是,如果你使用原生的.net提供商,你会获得更好的性能,我认为还有功能 - 例如http://npgsql.projects.postgresql.org/

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我找到了解决方案。

第 1 步:下载并安装

https://www.pgoledb.com/index.php/component/filecabinet/?task=download&cid[0]=15

第 2 步:重启电脑。

第三步:设置连接字符串如下

Provider=PGNP.1;Data Source=localhost;Persist Security Info=True;Initial Catalog=myDatabase;User ID=yyy;password=xxx

它应该按您的预期工作