我创建了一个Web应用程序。我试图通过实体框架连接到MS Sql数据库。
我在appsettings.json文件中的以下连接字符串中存在问题。
在连接字符串中,密码包含分号,如下所示。
DefaultConnection":"服务器=服务器名称;数据库=我的数据库;用户 ID =为myuser;密码= HjkT; TK-K @ = 55 \?; MultipleActiveResultSets = TRUE;
当我试图访问实体框架时收到此错误
处理请求时发生未处理的异常。
ArgumentException:不支持关键字:' tk-k @'
我尝试将此密码用双引号/单引号/" 。但仍然面临这个错误。
答案 0 :(得分:2)
这不是appsettings.json
问题,而是连接字符串问题。
连接字符串的基本格式包括一系列 由分号分隔的关键字/值对。等号(=) 连接每个关键字及其值。包含包含a的值 分号,单引号字符或双引号字符 值必须用双引号括起来 from here
所以你的连接字符串应该是:
服务器=服务器名称;数据库=我的数据库;用户ID = myuser;密码= “HjkT; TK-K @ = 55 \”; MultipleActiveResultSets = TRUE;
只要引号和反斜杠是json的特殊符号 - 你应该用反斜杠转义它们。这是您的文件:
{
"DefaultConnection": "Server=server name; Database=my db; User Id=myuser; Password=\"HjkT;tk-k@=?55\\\"; MultipleActiveResultSets=true;"
}