ado.net连接数据库遇到过的坑

第1种、provider: SSL Provider, error: 0 - 证书链是由不受信任的颁发机构颁发的。

没有配置SSL证书时的连接字符串:

image

配置Encrypt=False;属性后就可以连接数据库了

Encrypt=True;TrustServerCertificate=True;
image

Encrypt=False;是否加密;

TrustServerCertificate=True;设置为“true”以指定 适用于 SQL Server 的 Microsoft JDBC Driver 将不会验证 SQL Server SSL 证书。如果为“true”,当使用 SSL 加密通信层时,将自动信任 SQL Server SSL 证书。如果为“false”,适用于 SQL Server 的 Microsoft JDBC Driver 将验证服务器 SSL 证书。 如果服务器证书验证失败,驱动程序将引发错误并终止连接。 默认值为“false”。 当且仅当 encrypt 属性设置为“true”时,此属性仅影响服务器 SSL 证书验证。
接字符串里的设置是:Encrypt=True;TrustServerCertificate=True;

或者

在连接数据库时如:
image

解决方法:

在登录时,更改选项的连接属性,解决方案、信任服务器证书选项都选择或者都不选择,不能只选一个
image




第2种、编写C#控制台程序连接SQL Server数据库时,未能在命名空间System.Data.SqlClient中找到类型名SqlConnection

错误描述

用vs2019创建 .Net Core下的C#控制台程序,想要连接SQL Server的数据库,在使用SqlConnection类的时候一直报错“未能在命名空间System.Data.SqlClient中找到类型名SqlConnection,此类型已转发到程序集System.Data.SqlClient, Version=0.0.0.0,…请考虑添加对该程序集的引用。”,或者是用SqlParameter类型时出现上面的保存信息时也出现这个错,代码如下:
image

错误原因和解决步骤

原因是因为该项目是.Net Core框架下的,没有自动添加System.Data和System.Data.SqlClient的引用,解决办法是用NuGet包管理器手动添加。
image

输入以下指令
image

下载添加完成后左边项目的依赖项里会多出“System.Data.SqlClient”引用
image

posted @   青仙  阅读(1248)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示