使用ASP.NET MVC连接到SQL Server时登录身份验证错误

时间:2018-03-28 04:45:55

标签: .net sql-server asp.net-mvc ssms

使用Dapper ORM连接到SQL Server时,我收到此错误:

  

用户“ttest'”登录失败   描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

     

异常详细信息:System.Data.SqlClient.SqlException:用户登录失败' ttest'。

     

来源错误:

     

第40行:使用(SqlConnection sqlCon = new SqlConnection(connectionString))
  第41行:{
  第42行:sqlCon.Open();
  第43行:返回sqlCon.Query(procedureName,param,commandType:CommandType.StoredProcedure);
  第44行:}

第42行显示为错误

代码是

using Dapper;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;

namespace DapperMVC.Models
{
    public class DapperORM
    {
        private static string connectionString = @"Data Source = test01\itest;Initial Catalog = SubbuDB; Persist Security Info=True;User ID = esiinttest; Password=***********;";

        public static void ExecuteWithoutReturn(string procedureName, DynamicParameters param = null)
        {
            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                sqlCon.Execute(procedureName, param, commandType: CommandType.StoredProcedure);
            }
        }

        //DapperORM.ExecuteReturnScalar<int>(_,_);
        public static T ExecuteReturnScalar<T>(string procedureName, DynamicParameters param = null)
        {
            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                return (T)Convert.ChangeType(sqlCon.ExecuteScalar(procedureName, param, commandType: CommandType.StoredProcedure), typeof(T));
            }
        }

        //DapperORM.ReturnList<EmployeeModel> <=  IEnumerable<EmployeeModel>
        public static IEnumerable<T> ReturnList<T>(string procedureName, DynamicParameters param = null)
        {
            using (SqlConnection sqlCon = new SqlConnection(connectionString))
            {
                sqlCon.Open();
                return sqlCon.Query<T>(procedureName, param, commandType: CommandType.StoredProcedure);
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

使用Windows身份验证模式安装SQL Server并稍后更改为SQL Server和Windows身份验证模式时,最初会禁用ttest登录。要启用ttest登录,请参阅如何: How to: Change Server Authentication Mode.