Ssis

如何通過 VB.NET 在 SSIS 2005 中訪問我的密碼

  • December 31, 2013

VB.NET 組件傳遞以下消息:

使用者 MyDBUser 登錄失敗

它是關於 OleDbConnection 的。

順便說一句,使用者與 SQL Server Management Studio 一起工作得很好。

即使啟用 . 通過連接管理器保留密碼也不起作用Save my password。就我而言,保留密碼不是安全問題,因為不會為其他人發布 SSIS 包。因此,關於 VB.NET 程式碼,啟用對(SQL Server)密碼的訪問的最快方法是什麼?

編輯:解決方法:將 SSIS 變數附加到所需控制流的範圍。 Me.readVariable應用於連接連接字元串。

鑑於您的症狀,我相信您已將您的 PackageProtectionLevel 從預設設置更改EncryptSensitiveWithUserKeyDontSaveSensitive這在我的世界觀中是一件好事,但它確實需要您現在管理敏感數據。

您使用的駭人聽聞的方法是創建一個密碼變數,然後在表達式中將其用作連接字元串的一部分。這可行,但您現在以明文形式儲存密碼,這是預設 PackageProtetionLevel 旨在防止的。

在我的腦海中修復它“正確”將涉及將該密碼儲存為外部安全資源。我們總是在我們的包中使用 SQL Server 配置,並用一列指示此配置是否敏感來擴展基表。在生產中,我們開發人員只能訪問設置為不敏感的行。執行所有包的服務帳戶沒有這樣的限制。

替代方法是將這些配置值儲存在 XML 文件、系統資料庫項、環境變數或父包中。

如果您知道您的軟體包只會通過方法 X(批處理文件、代理作業等)啟動,您也可以跳過配置路線。在這種情況下,只需將密碼作為執行時值提供給呼叫程序,一切都會好起來的。

通常,您需要將一些項目添加到 VB.Net 中 SQL Server 客戶端使用的連接字元串中

此連接字元串將類似於(為便於閱讀而包裝的行):

network=dmmssocn;server=MySqlServer.mydomain;Integrated_Security=false;
User=MyUserName;Pass=MyPassword

如果您不使用集成 Windows 身份驗證,則上述字元串有效。如果您正在使用集成身份驗證(聽起來您不是),請使用以下內容:

network=dmmssocn;server=MySqlServer.mydomain;Integrated_Security=true;

http://www.connectionstrings.com/是與連接字元串相關的所有內容的絕佳資源!

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