微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Ole Db提供程序无法通过C#找到postgres数据库

我正在尝试访问我们设置的linux服务器上设置的一些postgressql数据库,以前我们一直在使用访问和sql Server 2008并且与C#Ole Db连接得很好,但是我们试图查看是否我们可以转移到postgres,因为它会更方便.我可以使用ODBC数据源管理器完美地访问linux机器上的这些数据库,它可以成功测试数据库的连接,PG Admin III可以很好地显示所有数据库,并且psql可以完全正确地访问这些数据库.但是,当我尝试通过Visual Studio使用Ole DB连接时,连接字符串如下:

“Provider = Postgressql OLE DB Provider; Server = 192.168.0.64:5432; location = FRANK; User ID = ourusername; password = ourpassword; timeout = 1000;”

我从connectionstrings.com得到了这个,他们从来没有让我失望过.我尝试了多种变体,搜索了其他人在线连接字符串时遇到的问题,并相应更改了它,但我仍然得到同样的错误

致命:数据库“FRANK”不存在

不知道为什么我得到这个错误,显然那里.与其他连接方法相比,唯一不同的是提供者或通过visual studio完成的.我得到的提供者是从PGfoundry http://pgfoundry.org/projects/oledb/下载的,这是我唯一能想到的问题.有小费吗?

解决方法:

你尝试过使用Npgsql吗? http://npgsql.projects.postgresql.org/

..
using Npgsql;
..

NpgsqlConnection con = new NpgsqlConnection("Server=192.168.0.64:5432;User ID=ourusername;password=ourpassword;Database=FRANK;timeout=1000");

也不要忘记配置postgresql服务器文件pg_hba.conf和postgresql.conf来接受你的连接类型.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐