如何通過 VB.NET 在 SSIS 2005 中訪問我的密碼
VB.NET 組件傳遞以下消息:
使用者 MyDBUser 登錄失敗
它是關於 OleDbConnection 的。
順便說一句,使用者與 SQL Server Management Studio 一起工作得很好。
即使啟用 . 通過連接管理器保留密碼也不起作用
Save my password
。就我而言,保留密碼不是安全問題,因為不會為其他人發布 SSIS 包。因此,關於 VB.NET 程式碼,啟用對(SQL Server)密碼的訪問的最快方法是什麼?編輯:解決方法:將 SSIS 變數附加到所需控制流的範圍。
Me.readVariable
應用於連接連接字元串。
鑑於您的症狀,我相信您已將您的 PackageProtectionLevel 從預設設置更改
EncryptSensitiveWithUserKey
為DontSaveSensitive
這在我的世界觀中是一件好事,但它確實需要您現在管理敏感數據。您使用的駭人聽聞的方法是創建一個密碼變數,然後在表達式中將其用作連接字元串的一部分。這可行,但您現在以明文形式儲存密碼,這是預設 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/是與連接字元串相關的所有內容的絕佳資源!