Sql-Server

使用者名和密碼可以在系統 DSN 中硬編碼嗎

  • February 24, 2022

我們有一個舊版 CRM,它使用帶有 Windows 身份驗證的 DSN 連接到 SQL Server 2005 實例(SBS 2003 Premium 的一部分)。我們將很快進行一次重大遷移,使我們沒有 Windows 域 - 據我了解,這意味著我們需要使用替代身份驗證方法。我們還計劃在同一時間範圍內從 SQL Server 2005 遷移到 SQL Server Express 2008 R2。

不幸的是,無法對 CRM 進行修改。

撇開明顯的安全問題不談,是否可以在系統 DSN 中硬編碼使用者名和密碼?或者,這是我缺少的另一種明顯的身份驗證方法嗎?

  • 編輯

DSN在 Windows 客戶端控制面板的“管理工具”部分的ODBC 數據源管理器中定義。

–編輯2

由於喬納森的回答,我放棄了嘗試在 DSN 中執行此操作。幸運的是,我發現了一個 .ini 文件,我可以在其中插入一個固定的使用者名/密碼來替換佔位符 - 問題解決了。

系統 DSN 儲存在系統資料庫中,無法儲存密碼。如果要儲存密碼,則必須使用文件 DSN,這需要更改 CRM 以使用文件 DSN,您說這是不可能的。通常使用系統 DSN 的應用程序依賴於使用者的 SQL Server 身份驗證來確保其安全性。當應用程序打開時,它應該提示使用者登錄,這是用於連接到數據庫伺服器的系統 DSN 資訊的使用者名和密碼。如果 DSN 使用 Windows 身份驗證並且您正在消除 Windows 域,那麼您將陷入困境。您必須更改 CRM 以使其以不同的方式工作。

引用自:https://dba.stackexchange.com/questions/2910