簡體   English   中英

如何在VB.Net代碼中使用分號和單引號處理MS SQL密碼?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM