部署后修改连接字符串
Posted
技术标签:
【中文标题】部署后修改连接字符串【英文标题】:Connection Strings modification after the deployment 【发布时间】:2008-10-25 16:24:07 【问题描述】:我为应用程序创建了安装项目,我可以看到配置文件(Application.exe.config)的后期修改不会影响应用程序的执行。
我正在开发一个包含数据库文件的应用程序,我希望用户能够移动数据库文件并修改连接字符串。
有谁知道使用数据库文件部署应用程序的最佳做法是什么?
【问题讨论】:
【参考方案1】:只要您在 DB 访问 DLL 的 Settings.settings 文件和应用程序的配置文件中使用完全相同的连接字符串设置,它应该可以工作。
一个适合我的例子:
<connectionStrings>
<add name="YourApp.Properties.Settings.DatabaseConnectionString"
connectionString="Data Source=localhost;Initial Catalog=xxx;Integrated Security=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>
当在两个位置(即 dll 的 Settings.settings 和 exe 的 App.config 文件)正确输入时,这确实允许我在应用程序运行之前更改 YourApp.exe.config 中的数据库连接。
(我假设您已经知道需要更改应用程序的配置文件,因为 DLL 不直接支持 app.config 机制。)
【讨论】:
【参考方案2】:您是否使用UDL file 结账? 如果您将连接字符串保存在 udl 文件中,用户只需双击该文件即可通过界面更改连接。 您可以在应用程序中设置连接字符串以指向 udl 文件。 如果需要,您还可以通过编程方式启动 udl 接口。 唯一的缺点是如果用户将他们的密码保存到文件中,它会保存为纯文本。但是,如果您使用 Windows 身份验证,这不是问题。
【讨论】:
【参考方案3】:您确定删除了设置的默认值吗?这些是从 dll 而不是从配置文件中编译和获取的。
【讨论】:
以上是关于部署后修改连接字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 app.config 中部署通过 RSAProtectedConfigurationProvider 加密的连接字符串
MongoError:此 MongoDB 部署不支持可重试写入。请将 retryWrites=false 添加到您的连接字符串
MongoError:此 MongoDB 部署不支持可重试写入。请将 retryWrites=false 添加到您的连接字符串