我正在尝试访问我们设置的linux服务器上设置的一些postgresSQL数据库,之前我们一直在使用访问和SQL Server 2008并且与C#Ole Db连接得很好,但我们正在尝试看看我们是否可以转移到postgres,因为它会更方便。我可以使用ODBC数据源管理器完美地访问linux机器上的这些数据库,它可以成功测试数据库的连接,PG Admin III可以很好地显示所有数据库,并且psql可以完全正确地访问这些数据库。但是当我尝试使用Ole DB通过Visual Studio连接时,连接字符串如下:
“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/下载的,这是我唯一能想到的问题。有什么提示吗?
答案 0 :(得分:2)
您是否尝试过使用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来接受你的连接类型。