.Net2.0連接PG數據注意事項
第一次用.net操作PG[.NET2.0]
一:Npgsql版本問題
1:如果是.net2.0 建議用2.0.11.0[NuGet搜索npgsql第一個的最低版本]
如果是.net3.5 最高只能到2.2.6
2.2.7就需要.net4了
二:SqlHelp操作
就像操作SQL Server那樣操作,只是幾個類換一下。
SqlConnection -> NpgsqlConnection
SqlDataAdapter -> NpgsqlDataAdapter
SqlCommand -> NpgsqlCommand
三:連接問題
錯誤1:(Npgsql 4.0之前的版本是不支持scram-sha-256身份驗證的)
Only AuthenticationClearTextPassword and AuthenticationMD5Password supported for now. Received: 10
錯誤2:Authentication method not supported (Received: 10)
需要修改數據庫配置文件pg_hba.conf
METHOD 那列寫的 scram-sha-256,將其改為 password
如果需要允許所有IP都能訪問
IPv4修改ADDRESS列為:0.0.0.0/0
IPv6修改ADDRESS列為:::0/0
本文地址:https://www.cnblogs.com/happyqiang/p/15466816.html
四:增刪改查問題
連接字符串:
Server={datasouce};User Id={user}; Password = {pwd}; Database = {database}; Port = {port}
網上有寫法如下(本人沒有驗證):
server={datasouce};port={port};database={database};uid={user};pwd={pwd}
1:查詢
當表名/列名出現了大寫, sql語句需要帶雙引號,否則報錯,下面的語句少了引號就會報錯:
SELECT * FROM "DT_Lay2021"
SELECT "LayName" FROM "DT_Lay2021"
SELECT "LayName","LayMemo", "LayColor",sortid FROM "DT_Lay2021"
當表名/列名沒有大寫時,寫法同mssql:
SELECT * FROM dt_lay
五:MSSQL數據庫轉PG數據
內容參考:http://www.cftea.com/c/2021/01/13133.asp