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 @ 2021-12-07 22:10  青仙  阅读(1029)  评论(0编辑  收藏  举报