使用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);
}
}
}
}
答案 0 :(得分:1)
使用Windows身份验证模式安装SQL Server并稍后更改为SQL Server和Windows身份验证模式时,最初会禁用ttest登录。要启用ttest登录,请参阅如何: How to: Change Server Authentication Mode.