[英]How to handle MS SQL password with Semicolon and Single quotation in VB.Net Code?
我們正在 vb.net 中編寫代碼。 我有一個案例,我的 MS SQL 密碼包含分號、雙引號和單引號 ( ilo;veac'h”alle;nge
)。
Dim ConnectionString As String = "Server=DT2719MOD; Database=abs2; User Id=TestUserLogon; Password= ilo;veac'h”alle;nge"
任何人都可以建議/提供一些解決此問題的方法嗎?
你可以試試
Dim quote as String = Chr$(34)
Dim semi as String = Chr$(59)
Dim password as String "ilo" & semi & "veac'h" & quote & "alle" & semi & "nge"
Dim ConnectionString As String = String.Format("Server=DT2719MOD; Database=abs2; User Id=TestUserLogon; Password= {0}", password)
Chr() 函數可以在https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/chr-function找到
在 VB 和連接字符串中,您可以用另一個雙引號轉義雙引號,並且可以將連接字符串字段值包裝在雙引號中。 這意味着,要從字面上編寫連接字符串,您可以這樣做:
Dim ConnectionString As String = "Server=DT2719MOD;Database=abs2;User Id=TestUserLogon;Password=""ilo;veac'h""""alle;nge"""
密碼在連接字符串中用雙引號括起來,以便分號按字面解釋,並且需要在 VB 中進行轉義。 密碼中的雙引號需要在連接字符串中轉義,然后這兩個也需要在 VB 中轉義。
請注意,正如評論中所建議的,連接字符串構建器將為您完成此操作,例如
Dim builder As New SqlConnectionStringBuilder With {
.DataSource = "DT2719MOD",
.InitialCatalog = "abs2",
.UserID = "TestUserLogon",
.Password = "ilo;veac'h""alle;nge"}
Dim connection As New SqlConnection(builder.ConnectionString)
在這種情況下,您唯一需要做的就是為 VB 轉義密碼中的雙引號一次。
作為記錄,您也可以使用服務器資源管理器為您生成連接字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.