修改强类型数据集连接字符串的数据源

时间:2009-01-12 08:41:26

标签: c# configuration strongly-typed-dataset

以下是与修改强类型数据集连接字符串的数据源相关的两个问题。

部署我的应用程序后,轻量级数据库(以Microsoft Access的形式)将部署到Application Data文件夹。我有一个强类型的数据集。所以问题是如何更改以下app.config代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
    </configSections>
    <connectionStrings>
        <add name="XTrace.Properties.Settings.Timer_DBConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot;|DataDirectory|\Timer DB.mdb&quot;;Persist Security Info=True"
            providerName="System.Data.OleDb" />
    </connectionStrings>
</configuration>

要从Application Data文件夹副本中读取它吗?

read from SO以及其他地方,最好使用app.config或web.config来管理连接字符串。但是,由于app.config被编译到Windows窗体中,它如何提供允许在部署时更改连接字符串的灵活性?我不是在谈论Web应用程序,因为我知道web应用程序可能会分发web.config,您可以从该文件修改连接字符串。

3 个答案:

答案 0 :(得分:5)

部署Windows窗体应用程序时,您可以拥有app.config文件。

yourproject.exe为您提供了yourproject.exe.config文件,即app.config文件。

答案 1 :(得分:1)

您可能最好在运行时添加新的连接字符串属性并使用TableAdapterManager,而不是修改.config文件。请在以下网址阅读更多信息:http://rajmsdn.wordpress.com/2009/12/09/strongly-typed-dataset-connection-string/

答案 2 :(得分:0)

对于类库:还必须在.settings文件中更改app.config中的每个项目设置。这意味着:如果您只更改app.config,则必须检查Project - &gt;属性。在VS2012中,会立即显示app.config和.settings文件之间的更改,并提供接受这些更改的可能性。如果没有这个(只更改app.config文件),更改将不会生效。

设置嵌入到类库中(例如下面的代码),因此在引用它时没有.config文件。

Class library with embedded changes