SQLServer--已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: Shared Memory Provider, error: 0-管道的另一端上无任何进程

问题

在这里插入图片描述

声明

这个问题出现的频率大,但是解决办法是有些出入的。今天找了很多篇博客,方案都差不多,大多是重启、设置为server身份验证、启动服务等操作,但是都没能解决我的问题。下面总结一下可能用到的步骤。

解决

一、看一下是否为server身份验证
在这里插入图片描述
二、 如果是,检查是否服务器身份验证是下图所示

1、
在这里插入图片描述
2、安全性-用户名-sa-右击-属性-状态
看是否授予了允许连接
在这里插入图片描述

三、如果前面的设置都一样,则启动服务↓

打开服务

方法一:
快捷键:Window+R 打开命令,输入services.msc

方法二:
控制面板-系统和安全-管理工具-服务
在这里插入图片描述

启动服务

1、找到红色框内的服务
2、右击属性
3、启动类型为自动
4、确定
5、右击选中红色框内的Browser服务——启动
在这里插入图片描述

6、重新启动SQLEXPRESS
在这里插入图片描述

更改数据库连接方式,修改密码

如果到这里还没有解决问题,那么更改数据库连接方式,改成windows身份验证。接着重新用server身份验证再次连接一下数据库。将要连接的登陆名sa修改下密码,修改完成,断开连接再次登陆

在这里插入图片描述

后记

被这个可恶的问题卡了好久,不过说来说去还是这几个毛病。实行不行,就试试重启电脑吧。没准电脑一觉醒来,就能连接了~

代码Demo部分

using SqlSugar;
using SqlSugarTest.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SqlSugarTest.Common
{
    public static class SqlSugarhelper
    {
        public static SqlSugarClient db = new SqlSugarClient(new ConnectionConfig()
        {
            ConnectionString = "server=(local);uid=sa;pwd=123;database=SqlSugar4XTest",
            DbType = DbType.SqlServer,//设置数据库类型
            IsAutoCloseConnection = true,//自动释放数据务,如果存在事务,在事务结束后释放
            InitKeyType = InitKeyType.Attribute //从实体特性中读取主键自增列信息
        });

        public static void Test()
        {
            try
            {
                //用来打印Sql方便你调试    
                db.Aop.OnLogExecuting = (sql, pars) =>
                {
                    Console.WriteLine(sql + "\r\n" +
                    db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value)));
                    Console.WriteLine();
                };

                /*查询*/
                var list = db.Queryable<StudentModel>().ToList();//查询所有
                var getById = db.Queryable<StudentModel>().InSingle(1);//根据主键查询
                var getByWhere = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToList();//根据条件查询
                var total = 0;
                var getPage = db.Queryable<StudentModel>().Where(it => it.Id == 1).ToPageList(1, 2, ref total);//根据分页查询
                //多表查询用法 http://www.codeisbug.com/Doc/8/1124

                /*插入*/
                var data = new Student() { Id = 8, Name = "nihao" };
                db.Insertable(data).ExecuteCommand();
                //更多插入用法 http://www.codeisbug.com/Doc/8/1130

                /*更新*/
                var data2 = new Student() { Id = 5, Name = "nihao" };
                //db.Updateable(data2).ExecuteCommand();

                db.Updateable<Student>(new Student { Name = "异火" })
                     .UpdateColumns(s => s.Name)
                     .Where(s => s.Id == 5)
                     .ExecuteCommand();

                //更多更新用法 http://www.codeisbug.com/Doc/8/1129

                /*删除*/
                db.Deleteable<StudentModel>(1).ExecuteCommand();
            }
            catch (Exception ex)
            {

            }
        }
    }

    public class Student
    {
        public String Name { get; set; }

        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
    }
}

ORM Model代码

using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SqlSugarTest.Model
{
    //如果实体类名称和表名不一致可以加上SugarTable特性指定表名
    [SugarTable("Student")]
    public class StudentModel
    {
        //指定主键和自增列,当然数据库中也要设置主键和自增列才会有效
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }
        public string Name { get; set; }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值