[英]C# Connection string save into AppData?
所以我有一個數據庫(webster.accdb),它將被安裝在服務器上(例如\\ SERVER \\ WEBSTER)。但是,不同的位置可能具有不同的服務器名稱(ADMIN1等)
最初安裝該程序時,它將檢查app.config中的con字符串,即我輸入為“ DEFAULT”的字符串。 該程序檢查應用程序配置中的連接字符串,如果它是DEFAULT,則它會運行一個小提示,詢問用戶有關服務器名稱和其他一些細節的詳細信息。
他們單擊“連接”,它將新構建的連接字符串寫入app.config,並在一系列測試后加載程序。
現在,它可以在VS測試下工作,並安裝在臨時文件夾中的D:驅動器上。 我的問題是,如果“正確地”安裝到programfiles部分,那么我們現在遇到拒絕訪問更改文件的問題。
因此有人可以指出我在正確過程方面的正確方向,因為我知道我做錯了:
在Appdata中為用戶創建一個XML,該XML具有con字符串,並且該XML是在首次使用時生成的,並且從那時起用於該constring?
將con字符串另存為Settings,並使用此代碼更新設置,然后確保程序中的所有con字符串不再指向配置,而是指向設置?
用於更新配置的代碼:
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.ConnectionStrings["LOTSConnectionString"].ConnectionString = "Data Source=" + txtpcname.Text + ";Initial Catalog=" + cmbdispense.SelectedItem + ";Integrated Security=False;User ID=webbit;Password=ill923r6MG";
config.Save(ConfigurationSaveMode.Modified, true);
Access Denied
表示正在執行該應用程序的用戶沒有權限,或者由於操作系統的內置安全性,該應用程序正在受限權限下執行。 通過右鍵單擊並選擇運行方式,嘗試使用Administrator執行應用程序。
您可以通過在安裝時設置連接字符串來防止這種情況。 在安裝過程中提示用戶輸入詳細信息。
我非常坦白地說,我不了解配置的USER部分的好處。 我已將連接字符串更改為“ STRING”,並放入“設置”的“用戶”部分。
現在我可以將我的字符串稱為
properties.settings.default["ConString"].tostring
然后將其保存到用戶/ APPDATA /本地
對於像我這樣的菜鳥來說,這意味着Programfiles中的原始app.config文件保持不變,但摘錄了與用戶部分有關的摘錄,並將其放入appdata中。
一直以來困擾我的是在設置中選擇“連接字符串”,這不允許選擇為USER設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.