Escape;(分號)在appsettings.json文件中的aspnet核心連接字符串中

asp.net-core entity-framework-core

我創建了一個Web應用程序。我試圖通過實體框架連接到MS Sql數據庫。

我在appsettings.json文件的下面的連接字符串中有一個問題。

在連接字符串中,密碼包含分號,如下所示。

DefaultConnection“:”Server =服務器名稱;數據庫=我的數據庫;用戶ID = myuser;密碼= HjkT; TK-K @ = 55 \?; MultipleActiveResultSets = TRUE;

而我正在嘗試訪問實體框架獲取此錯誤

處理請求時發生未處理的異常。

ArgumentException:不支持關鍵字:'tk -k @'

我嘗試將此密碼用雙引號/單引號/“。但仍然面臨此錯誤。

熱門答案

這不是appsettings.json問題,它是連接字符串問題。

連接字符串的基本格式包括由分號分隔的一系列關鍵字/值對。等號(=)連接每個關鍵字及其值。要包含包含分號,單引號字符或雙引號字符的值,該值必須用雙引號括起來
從這裡

所以你的連接字符串看起來像:

服務器=服務器名稱;數據庫=我的數據庫;用戶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;"
}


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow