尝试运行从PostgreSQL数据库(8.4)获取数据并使用PostgreSQL OLE DB提供程序的C#应用程序
这是我的连接字符串
string connString = @“Provider = PostgreSQL OLE DB 提供商;数据 源=本地主机;位置=;用户 ID =;密码=;超时= 1000" ;
我得到的错误是
'PostgreSQL OLE DB提供程序' 提供者未注册 本地机器
任何人都可以指出我应该在哪里纠正,以便连接到数据库。顺便使用PGOLEDBLib。
答案 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
它应该按您的预期工作