.NET 操作 PostgreSQL遇到的问题

PostgreSQL简介

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统(RDBMS)。PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project。该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放。

使用 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”或它的某一个依赖项。系统找不到指定的文件。

一切就绪,可是提示上面这个错误,我写一个 System.ValueTuple(注意不是 Type) ,按 F12,向上追踪,发现我的版本是 4.0.3.0,对不上。

我的 .NET Framework 是 4.6.2,我不想调整我的 .NET Framework 版本,于是我 降 Npgsql 的版本 ,降了好几个都不行, 后来降到 3.2.0,可以了。

坑二、不支持的认证模式

Authentication method not supported (Received: 10)

针对这个错误,在目录(参考): C:\Program Files\PostgreSQL\13\data

打开 pg_hba.conf 。

这里配置了各种环境下怎么连接,我是 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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • asp.net实现Postgresql快速写入/读取大量数据实例

    最近因为一些项目需要大量插入数据,研究了下asp.net实现Postgresql快速写入/读取大量数据,所以留个笔记 环境及测试 使用.net驱动npgsql连接post数据库.配置:win10 x64, i5-4590, 16G DDR3, SSD 850EVO. postgresql 9.6.3,数据库与数据都安装在SSD上,默认配置,无扩展. CREATE TABLE public.mesh ( x integer NOT NULL, y integer NOT NULL, z integ

  • php连接与操作PostgreSQL数据库的方法

    本文实例讲述了php连接与操作PostgreSQL数据库的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: $pg=@pg_connect("host=localhost user=postgres password=sa dbname=employes") or die("can't connect to database."); $query="select * from employes order by serial_no&q

  • C# 操作PostgreSQL 数据库的示例代码

    什么是PostgreSQL? PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS). 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们. PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发. 它不受任何公司或其他私人实体控制. 它是开源的,其源代码是免费提供的. PostgreSQL是跨平台的,可以在许多操作系统上运行,如Linux,FreeBSD,OS X,Solaris和Microsoft

  • PHP连接及操作PostgreSQL数据库的方法详解

    本文实例讲述了PHP连接及操作PostgreSQL数据库的方法.分享给大家供大家参考,具体如下: PostgreSQL扩展在默认情况下在最新版本的PHP 5.3.x中是启用的. 可以在编译时使用--without-pgsql来禁用它.仍然可以使用yum命令来安装PHP-PostgreSQL接口: yum install php-pgsql 在开始使用PHP连接PostgreSQL接口之前,请先在PostgreSQL安装目录中找到pg_hba.conf文件,并添加以下行: # IPv4 local

  • PHP操作Postgresql封装类与应用完整实例

    本文实例讲述了PHP操作Postgresql封装类与应用.分享给大家供大家参考,具体如下: 这个类封装了一些常用的函数,原帖里面还有事务处理的内容,以后再学习吧. 类文件定义: <?php class pgsql { private $linkid; // PostgreSQL连接标识符 private $host; // PostgreSQL服务器主机 private $port; // PostgreSQL服务器主机端口 private $user; // PostgreSQL用户 priv

  • Python 操作 PostgreSQL 数据库示例【连接、增删改查等】

    本文实例讲述了Python 操作 PostgreSQL 数据库.分享给大家供大家参考,具体如下: 我使用的是 Python 3.7.0 PostgreSQL可以使用psycopg2模块与Python集成. sycopg2是用于Python编程语言的PostgreSQL数据库适配器. psycopg2是非常小,快速,稳定的. 您不需要单独安装此模块,因为默认情况下它会随着Python 2.5.x版本一起发布. pip3 install python-psycopg2 pip3 install ps

  • Python操作PostgreSql数据库的方法(基本的增删改查)

    Python操作PostgreSql数据库(基本的增删改查) 操作数据库最快的方式当然是直接用使用SQL语言直接对数据库进行操作,但是偶尔我们也会碰到在代码中操作数据库的情况,我们可能用ORM类的库对数控库进行操作,但是当需要操作大量的数据时,ORM的数据显的太慢了.在python中,遇到这样的情况,我推荐使用psycopg2操作postgresql数据库 psycopg2 官方文档传送门: http://initd.org/psycopg/docs/index.html 简单的增删改查 连接

  • .NET 操作 PostgreSQL遇到的问题

    PostgreSQL简介 PostgreSQL是一个功能非常强大的.源代码开放的客户/服务器关系型数据库管理系统(RDBMS).PostgreSQL最初设想于1986年,当时被叫做Berkley Postgres Project.该项目一直到1994年都处于演进和修改中,直到开发人员Andrew Yu和Jolly Chen在Postgres中添加了一个SQL(Structured Query Language,结构化查询语言)翻译程序,该版本叫做Postgres95,在开放源代码社区发放. 使用

  • Qt5连接并操作PostgreSQL数据库的实现示例

    教你如何查看官方demo 1. 浏览器搜索Qt,打开第一个连接. 2. 鼠标悬浮Learning,点击下边的Documentation进入文档说明. 3. 找到Qt 5,点击进入. 4. 往下拉,找到Qt SQL,点击进入. 5. 点击进入SQL Programming.也可拉到下边,点击进入SQL Examples查看官方例子. 随便点击一个例子,进入查看 6. 进入数据库使用说明位置. 7. 此时地址栏显示是qt6,如果你使用的是qt5,可以将6改成5,目前不确定6跟5有什么区别. 到此这篇

  • java mybatis如何操作postgresql array数组类型

    目录 我定义了几个基础数据类型的数组 java mybatis操作 postgresql array数组类型备忘 找了半天没有找到postgresql中关于array数组类型的字段如何对应到java中的数据类型,后来找到了mybatis的TypeHandler,只要实现一个自定义的TypeHandler就行了,如下, 我定义了几个基础数据类型的数组 public class ArrayTypeHandler extends BaseTypeHandler<Object[]> { private

  • Golang连接并操作PostgreSQL数据库基本操作

    目录 前言: 连接数据库 sql.DB 增删改查 插入数据 更新数据 查询数据 删除数据 总结 前言: 本篇文章对如何使用golang连接并操作postgre数据库进行了简要说明.文中使用到的主要工具:DBeaver21.VSCode,Golang1.17. 以用户,文章,评论三个表作为例子,下面是数据库建表sql: CREATE TABLE public.user_info ( u_id serial4 NOT NULL, user_name varchar NULL, create_time

随机推荐