.NET 操作 PostgreSQL遇到的問題
PostgreSQL簡介
PostgreSQL是一個功能非常強大的、源代碼開放的客戶/服務器關系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)。PostgreSQL最初設想于1986年,當時被叫做Berkley Postgres Project。該項目一直到1994年都處于演進和修改中,直到開發(fā)人員Andrew Yu和Jolly Chen在Postgres中添加了一個SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)翻譯程序,該版本叫做Postgres95,在開放源代碼社區(qū)發(fā)放。
使用 NuGet 安裝組件
在 Visual Studio 中,項目上右鍵 -> 管理 NuGet 程序包。搜索 PostgreSQL。
有兩個在頂部的,一個是針對 .NET Core 的,一個是針對 .NET Framework 的。

使用
就像操作 SQL Server 那樣操作,只是幾個類換一下。
SqlConnection -> NpgsqlConnection
SqlDataAdapter -> NpgsqlDataAdapter
SqlCommand -> NpgsqlCommand
對了,連接字符串類似:
Server=127.0.0.1; Port=5432; User Id=postgres; Password=pwd; Database=test;
坑一、未能加載文件或程序集 System.ValueTuple
未能加載文件或程序集“System.ValueTuple, Version=4.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51”或它的某一個依賴項。系統(tǒng)找不到指定的文件。
一切就緒,可是提示上面這個錯誤,我寫一個 System.ValueTuple(注意不是 Type) ,按 F12,向上追蹤,發(fā)現(xiàn)我的版本是 4.0.3.0,對不上。
我的 .NET Framework 是 4.6.2,我不想調(diào)整我的 .NET Framework 版本,于是我 降 Npgsql 的版本 ,降了好幾個都不行, 后來降到 3.2.0,可以了。
坑二、不支持的認證模式
Authentication method not supported (Received: 10)
針對這個錯誤,在目錄(參考): C:\Program Files\PostgreSQL\13\data
打開 pg_hba.conf 。
這里配置了各種環(huán)境下怎么連接,我是 IPv4,我就找到 IPv4,看到 METHOD 那列寫的 scram-sha-256,將其改為 password ,成功。

關于這個文件的詳細配置說明,可參考: https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html
當然,因版本不同,這個文件可能位于不同的目錄,可通過SQL Shell 輸入 show hba_file; 查看:
到此這篇關于.NET 操作 PostgreSQL遇到的問題的文章就介紹到這了,更多相關.NET 操作 PostgreSQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于.Net?Core認證授權(quán)方案之JwtBearer認證
這篇文章介紹了基于.Net?Core認證授權(quán)方案之JwtBearer認證,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
asp.net 數(shù)據(jù)庫連接類代碼(SQL)
asp.net數(shù)據(jù)庫連接類(SQL) 代碼,需要的朋友可以參考下。2010-03-03
asp.net在Repeater嵌套的Repeater中使用復選框詳解
這篇文章主要介紹了asp.net在Repeater嵌套的Repeater中使用復選框,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
(asp.net c#)DropDownList綁定后顯示對應的項的兩種方法
(asp.net c#)DropDownList綁定后顯示對應的項的兩種方法 其實兩個方法的思路都是一樣,都是拿id去配對2011-04-04

