簡體   English   中英

無法使用Ole Db提供程序通過C#查找postgres數據庫

[英]Can't find postgres database through C# using Ole Db provider

我正在嘗試訪問在我們已設置的linux服務器上設置的一些postgresSQL數據庫,之前我們一直在使用access和SQL Server 2008並與C#Ole Db很好地連接,但是我們試圖查看是否我們可以選擇使用postgres,因為這樣會更方便。 我可以使用ODBC數據源管理器(可以成功測試數據庫的連接),PG Admin III(可以很好地顯示所有數據庫)在linux機器上完美地訪問這些數據庫,而psql可以很好地訪問這些數據庫。 但是,當我嘗試通過Visual Studio使用Ole DB和連接字符串進行連接時,如下所示:

“ Provider = PostgresSQL OLE DB提供程序;服務器= 192.168.0.64:5432;位置= FRANK;用戶ID =我們的用戶名;密碼=我們的密碼;超時= 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配置為接受您的連接類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM