运维开发网

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

运维开发网 https://www.qedev.com 2020-03-20 20:51 出处:网络 作者:运维开发网整理
我正在尝试访问我们设置的 linux服务器上设置的一些postgresSQL数据库,以前我们一直在使用访问和SQL Server 2008并且与C#Ole Db连接得很好,但是我们试图查看是否我们可以转移到postgres,因为它会更方便.我可以使用ODBC数据源管理器完美地访问linux机器上的这些数据库,它可以成功测试数据库的连接,PG Admin III可以很好地显示所有数据库,并且psql
我正在尝试访问我们设置的 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来接受你的连接类型.

0

精彩评论

暂无评论...
验证码 换一张
取 消