.net 安装Postgresql驱动程序ngpsql

.net 安装Postgresql驱动程序ngpsql

最近搞一个物联网项目,需要采集fanuc数控机床的数据,厂家提供的API只支持windows,所以就决定C#开发,数据库用postgresql, 安装数据库驱动一波三折。

作为一个讨厌微软的老程序猿,一看到.net这个乱,更讨厌了

现在.net的框架。

  1. .net framework
  2. .net standard
  3. .net core
  4. .net

乱不乱? 都是些啥玩意,不扯远了,我是在讨厌微软的路上越走越远了,可是为了生活,还要弄这恶心的玩意。。

一、安装

ngpsql下载地址:

https://www.nuget.org/stats/packages/Npgsql?groupby=Version

一定要根据项目使用的框架选择合适的驱动,我的项目使用的框架是.net framework 4.8,只能选择4.x的ngpsql,再新的版本不支持了。

打开4.1.12的页面https://www.nuget.org/packages/Npgsql/4.1.12

在这里插入图片描述

在vs中,工具菜单,Nuget包管理器,管理解决方案的Nuget程序包,看看源

在这里插入图片描述

查看有没有这个源:

在这里插入图片描述

如果没有,手工添加一下。然后打开工具,nuget包管理器,程序包管理器控制台:

这行这个命令:

NuGet\Install-Package Npgsql -Version 4.1.12
(base) PM> NuGet\Install-Package Npgsql -Version 4.1.12

正在尝试收集与目标为“.NETFramework,Version=v4.6.1”的项目“Test”有关的包“Npgsql.4.1.12”的依赖项信息
收集依赖项信息花费时间 9.77 秒
正在尝试解析程序包“Npgsql.4.1.12”的依赖项,DependencyBehavior 为“Lowest”
解析依赖项信息花费时间 0 毫秒
正在解析操作以安装程序包“Npgsql.4.1.12”
已解析操作以安装程序包“Npgsql.4.1.12”
从“nuget.org”检索包“Microsoft.Bcl.AsyncInterfaces 1.1.0” 
从“nuget.org”检索包“Npgsql 4.1.12” 
从“nuget.org”检索包“System.Buffers 4.5.0” 
从“nuget.org”检索包“System.Memory 4.5.3” 
从“nuget.org”检索包“System.Numerics.Vectors 4.5.0” 
从“nuget.org”检索包“System.Runtime.CompilerServices.Unsafe 4.6.0” 
从“nuget.org”检索包“System.Text.Encodings.Web 4.6.0” 
从“nuget.org”检索包“System.Text.Json 4.6.0” 
从“nuget.org”检索包“System.Threading.Tasks.Extensions 4.5.3” 
从“nuget.org”检索包“System.ValueTuple 4.5.0” 
  GET https://api.nuget.org/v3-flatcontainer/npgsql/4.1.12/npgsql.4.1.12.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.buffers/4.5.0/system.buffers.4.5.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.text.json/4.6.0/system.text.json.4.6.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.6.0/system.text.encodings.web.4.6.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.6.0/system.runtime.compilerservices.unsafe.4.6.0.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.3/system.threading.tasks.extensions.4.5.3.nupkg
  GET https://api.nuget.org/v3-flatcontainer/system.memory/4.5.3/system.memory.4.5.3.nupkg
  OK https://api.nuget.org/v3-flatcontainer/system.buffers/4.5.0/system.buffers.4.5.0.nupkg 142 毫秒
  OK https://api.nuget.org/v3-flatcontainer/system.memory/4.5.3/system.memory.4.5.3.nupkg 143 毫秒
  OK https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.3/system.threading.tasks.extensions.4.5.3.nupkg 180 毫秒
  OK https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg 186 毫秒
  OK https://api.nuget.org/v3-flatcontainer/system.text.json/4.6.0/system.text.json.4.6.0.nupkg 226 毫秒
  OK https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.6.0/system.runtime.compilerservices.unsafe.4.6.0.nupkg 232 毫秒
  OK https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.6.0/system.text.encodings.web.4.6.0.nupkg 274 毫秒
  OK https://api.nuget.org/v3-flatcontainer/npgsql/4.1.12/npgsql.4.1.12.nupkg 308 毫秒
已通过内容哈希 1Am6l4Vpn3/K32daEqZI+FFr96OlZkgwK2LcT3pZ2zWubR5zTPW3/FkO1Rat9kb7oQOa4rxgl9LJHc5tspCWfg== 从 https://api.nuget.org/v3/index.json 安装 Microsoft.Bcl.AsyncInterfaces 1.1.0 。
已通过内容哈希 HxozeSlipUK7dAroTYwIcGwKDeOVpQnJlpVaOkBz7CM4TsE5b/tKlQBZecTjh6FzcSbxndYaxxpsBMz+wMJeyw== 从 https://api.nuget.org/v3/index.json 安装 System.Runtime.CompilerServices.Unsafe 4.6.0 。
已通过内容哈希 pL2ChpaRRWI/p4LXyy4RgeWlYF2sgfj/pnVMvBqwNFr5cXg7CXNnWZWxrOONLg8VGdFB8oB+EG2Qw4MLgTOe+A== 从 https://api.nuget.org/v3/index.json 安装 System.Buffers 4.5.0 。
已通过内容哈希 +MvhNtcvIbqmhANyKu91jQnvIRVSTiaOiFNfKWwXGHG48YAb4I/TyH8spsySiPYla7gKal5ZnF3teJqZAximyQ== 从 https://api.nuget.org/v3/index.json 安装 System.Threading.Tasks.Extensions 4.5.3 。
已通过内容哈希 BXgFO8Yi7ao7hVA/nklD0Hre1Bbce048ZqryGZVFifGNPuh+2jqF1i/jLJLMfFGZIzUOw+nCIeH24SQhghDSPw== 从 https://api.nuget.org/v3/index.json 安装 System.Text.Encodings.Web 4.6.0 。
正在将程序包“System.Buffers.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已通过内容哈希 3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA== 从 https://api.nuget.org/v3/index.json 安装 System.Memory 4.5.3 。
已通过内容哈希 4F8Xe+JIkVoDJ8hDAZ7HqLkjctN/6WItJIzQaifBwClC7wmoLSda/Sv2i6i1kycqDb3hWF4JCVbpAweyOKHEUA== 从 https://api.nuget.org/v3/index.json 安装 System.Text.Json 4.6.0 。
已将程序包“System.Buffers.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已通过内容哈希 VGcF1AQRGd1+HQvXFqc0u+swxZMGCFy/T8eCk7w2Jo9oXYkNWdb7FWQVd7lM1Zm0gwVucK04smyneMXnUdhI7Q== 从 https://api.nuget.org/v3/index.json 安装 Npgsql 4.1.12 。
已将程序包“System.Buffers.4.5.0”添加到“packages.config”
已将“System.Buffers 4.5.0”成功安装到 Test
正在将程序包“System.Numerics.Vectors.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Numerics.Vectors.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Numerics.Vectors.4.5.0”添加到“packages.config”
已将“System.Numerics.Vectors 4.5.0”成功安装到 Test
正在将程序包“System.Runtime.CompilerServices.Unsafe.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Runtime.CompilerServices.Unsafe.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Runtime.CompilerServices.Unsafe.4.6.0”添加到“packages.config”
已将“System.Runtime.CompilerServices.Unsafe 4.6.0”成功安装到 Test
正在将程序包“System.Memory.4.5.3”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Memory.4.5.3”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Memory.4.5.3”添加到“packages.config”
已将“System.Memory 4.5.3”成功安装到 Test
正在将程序包“System.Text.Encodings.Web.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Text.Encodings.Web.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Text.Encodings.Web.4.6.0”添加到“packages.config”
已将“System.Text.Encodings.Web 4.6.0”成功安装到 Test
正在将程序包“System.Threading.Tasks.Extensions.4.5.3”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Threading.Tasks.Extensions.4.5.3”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Threading.Tasks.Extensions.4.5.3”添加到“packages.config”
已将“System.Threading.Tasks.Extensions 4.5.3”成功安装到 Test
正在将程序包“Microsoft.Bcl.AsyncInterfaces.1.1.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“Microsoft.Bcl.AsyncInterfaces.1.1.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“Microsoft.Bcl.AsyncInterfaces.1.1.0”添加到“packages.config”
已将“Microsoft.Bcl.AsyncInterfaces 1.1.0”成功安装到 Test
正在将程序包“System.ValueTuple.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.ValueTuple.4.5.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.ValueTuple.4.5.0”添加到“packages.config”
已将“System.ValueTuple 4.5.0”成功安装到 Test
正在将程序包“System.Text.Json.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Text.Json.4.6.0”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“System.Text.Json.4.6.0”添加到“packages.config”
已将“System.Text.Json 4.6.0”成功安装到 Test
正在将程序包“Npgsql.4.1.12”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“Npgsql.4.1.12”添加到文件夹“D:\BaiduSyncdisk\7_浩信\6_hx_lot\Test\packages”
已将程序包“Npgsql.4.1.12”添加到“packages.config”
已将“Npgsql 4.1.12”成功安装到 Test
执行 nuget 操作花费时间 21.43 秒
已用时间: 00:00:32.9171668

它会自动解决依赖问题,前提是源要设置正确。

二、测试

static void TestPG()
        {
            // 连接字符串
            string connString = $"Host={dbIp};Username={dbUser};Password={dbPasswd};Database={dbName}";

            // 创建连接对象
            using (var conn = new NpgsqlConnection(connString))
            {
                conn.Open(); // 打开数据库连接

                // 执行查询
                using (var cmd = new NpgsqlCommand("SELECT id,login FROM res_users", conn))
                {
                    using (var reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            // 读取数据
                            int id = reader.GetInt32(0);
                            string name = reader.GetString(1);

                            Console.WriteLine($"ID: {id}, Name: {name}");
                        }
                    }
                }

                // 执行插入
                //using (var cmd = new NpgsqlCommand("INSERT INTO mytable (id, name) VALUES (@id, @name)", conn))
                //{
                //    cmd.Parameters.AddWithValue("id", 1);
                //    cmd.Parameters.AddWithValue("name", "John Doe");

                //    int rowsAffected = cmd.ExecuteNonQuery();
                //    Console.WriteLine($"Rows Affected: {rowsAffected}");
                //}

                conn.Close(); // 关闭数据库连接
            }
        }

测试没有问题,折腾了一天,终于搞定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/237375.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Postman高级应用——变量、流程控制、调试、公共函数、外部数据文件

Postman 提供了四种类型的变量 环境变量(Environment Variable) 不同的环境,使用不同的环境变量,例如:测试过程中经常会用到 测试环境,外网环境等 全局变量(Global Variable) 所有的…

使用PyTorch II的新特性加快LLM推理速度

Pytorch团队提出了一种纯粹通过PyTorch新特性在的自下而上的优化LLM方法,包括: Torch.compile: PyTorch模型的编译器 GPU量化:通过降低精度操作来加速模型 推测解码:使用一个小的“草稿”模型来加速llm来预测一个大的“目标”模型的输出 张量并行:通过在多个设备…

认识lambda架构(架构师考试复习)

Lambda架构主要分为三层,批处理层、加速层和服务层。 如下图所示: (1)批处理层(Batch Layer):存储数据集,在数据集上预先计算查询函数,并构建查询对应的view。Batch Lay…

Unity-小工具-LookAt

Unity-小工具-LookAt 🥙介绍 🥙介绍 💡通过扩展方法调用 gameObject.LookAtTarget,让物体转向目标位置 💡gameObject.StopLookat 停止更新 💡可以在调用时传入自动停止标记,等转向目标位置后自…

C语言学习----指针和数组

🌈这篇blog记录一下指针学习~ 主要是关于指针和数组之间的关系,还有指针的使用等~ 🍎指针变量是一个变量 其本身也有一个地址 也需要存放,就和int char等类型一样的,也需要有一个地址来存放它 🍌而指针变量…

打包less

接HTML和css之后对less进行打包 1.在之前的文件夹里的src文件夹创建一个less文件 2.打开webpack——>中文文档——>Loader——>less—loader 3.复制下图代码到终端 4.复制下图内容到webpack.config.js脚本 5.在src里的js文件年引入less文件 6.在终端运行 npm run te…

实现安装“自由化”!在Windows 11中如何绕过“您尝试安装的应用程序未通过微软验证”

这篇文章描述了如果你不能安装应用程序,而是当你在Windows 11中看到消息“您尝试安装的应用程序未通过微软验证”时该怎么办。完成这些步骤将取消你安装的应用程序必须经过Microsoft验证的要求。 使用设置应用程序 “设置”应用程序提供了绕过此警告消息的最简单方法,以便你…

C# OpenCvSharp DNN 部署YOLOV6目标检测

目录 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN 部署YOLOV6目标检测 效果 模型信息 Inputs ------------------------- name:image_arrays tensor:Float[1, 3, 640, 640] -------------------------------------------------------------…

[c++]—vector类___基础版(带你了解vector熟练掌握运用)

👩🏻‍💻作者:chlorine 目录 🎓标准库类型vector 🎓定义和初始化vector的对象 💻列表初始化vector对象 💻创建指定数量的元素 🕶️值初始化 ❗列表初始化还是值初始化&#xf…

Vuex快速上手

一、Vuex 概述 目标:明确Vuex是什么,应用场景以及优势 1.是什么 Vuex 是一个 Vue 的 状态管理工具,状态就是数据。 大白话:Vuex 是一个插件,可以帮我们管理 Vue 通用的数据 (多组件共享的数据)。例如:购…

DevEco Studio 3.1IDE环境配置(HarmonyOS 3.1)

DevEco Studio 3.1IDE环境配置(HarmonyOS 3.1) 一、安装环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、环境安装 IDE下载地址:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 IDE的安装就是…

关于uniapp X 的最新消息

uni-app x 是什么? uni-app x,是下一代 uni-app,是一个跨平台应用开发引擎。 uni-app x 没有使用js和webview,它基于 uts 语言。在App端,uts在iOS编译为swift、在Android编译为kotlin,完全达到了原生应用的…

计算机网络(三) | 数据链路层 PPP协议、广播CSMA/CD协议、集线器、交换器、扩展and高速以太网

文章目录 1 数据链路基本概念和问题1.1 基本概念1.2 基本问题(1)封装成帧(2)透明传输(3)差错控制 2.数据链路层协议2.1 点对点 PPP协议2.1.1 需要实现的2.1.2 PPP组成2.1.3 帧格式2.1.4 工作流程 2.2 广播 …

python:五种算法(HHO、WOA、GWO、PSO、GA)求解23个测试函数(python代码)

一、五种算法简介 1、哈里斯鹰优化算法HHO 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、粒子群优化算法PSO 5、遗传算法GA 二、5种算法求解23个函数 (1)23个函数简介 参考文献: [1] Yao X, Liu Y, Lin G M. Evolutionary programming …

树莓派,opencv,Picamera2利用舵机云台追踪人脸

一、需要准备的硬件 Raspiberry 4b两个SG90 180度舵机(注意舵机的角度,最好是180度且带限位的,切勿选360度舵机)二自由度舵机云台(如下图)Raspiberry CSI 摄像头 组装后的效果: 二、项目目标…

Unity之OpenXR+XR Interaction Toolkit接入微软VR设备Windows Mixed Reality

前言 Windows Mixed Reality 是 Microsoft 用于增强和虚拟现实体验的VR设备,如下图所示: 在国内,它的使用率很低,一把都是国外使用,所以适配起来是相当费劲。 这台VR设备只能用于串流Windows,启动后,会自动连接Window的Mixed Reality程序,然后打开微软的增强现实门户…

LAMP 搭建

目录 LAMP LAMP组成及作用 LAMP搭建实验举例,优先将防火墙和安全终端关闭,在一台虚拟机上操作 搭建 apache httpd服务 搭建 mysql服务 搭建 php服务 安装论坛 LAMP —— LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一…

记录汇川:自由口案例01-梯形图

H5U和FX5U通信:通过H5U区点亮FX5U的Y0-Y7 H5U配置 FX5U配置 02 0F 00 00 00 08 01 FF CRC校验码高 CRC校验码低 02:FX5U的站地址 0F:多个线圈写入 00 00:FX5U的MODBUS地址Y0开始 00 08:Y0 - Y7 FF:1111 1111 将Y0 - Y7全部点亮 主程序 MAIN: 记录汇川&a…

开源框架Apache NiFi调研

开源框架Apache NiFi调研 NiFi背景介绍一、什么是NiFi1.1 Apache NiFi特点:流管理、易用性、安全性、可扩展的体系结构和灵活的伸缩模型。1.2 Apache NiFi特性1.2 Apache NiFi核心概念1.3架构 二、NiFi的诞生,要致力于解决的问题有哪些?三、为…

DevEco Studio IDE 创建项目时候配置环境

DevEco Studio IDE 创建项目时候配置环境 一、安装环境 操作系统: Windows 10 专业版 IDE:DevEco Studio 3.1 SDK:HarmonyOS 3.1 二、在配置向导的时候意外关闭配置界面该如何二次配置IDE环境。 打开IDE的界面是这样的。 点击Create Project进行环境配置。 点击OK后出现如…