如何在 app.config 连接字符串中引用多个 SQL 服务器数据库
How to refer to multiple SQL Server databases in app.config connection string
我正在 运行 SQL 服务器单元测试并且有两个我想测试的测试数据库,"A" 和 "B"。在我的 VSTS 版本定义中,我将这两个测试数据库的 DACPAC 文件部署到 同一服务器 。在复制到构建输出的 app.config 文件中,我有以下连接字符串,它引用数据库 "A" 作为 "Initial Catalog":
<SqlUnitTesting>
<DataGeneration ClearDatabase="true" />
<ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=XYZ;Initial Catalog=A;Integrated Security=True;Pooling=False"
CommandTimeout="30000" />
<PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=XYZ;Initial Catalog=A;Integrated Security=True;Pooling=False"
CommandTimeout="30000" />
</SqlUnitTesting>
如果我还想连接到数据库 "B",我该怎么做?
- 我可以在同一个连接字符串中创建两个初始目录吗?
- 我可以创建两个 configSections,其中一个的连接字符串引用 "A",另一个引用 "B" 吗?
- 我可以从我的连接字符串中删除 Initial Catalog 以便它不仅限制我 "A" 吗?
- 我可以创建两个 app.config 文件并将它们放在同一位置吗?
谢谢。
回答我自己的问题。我了解到每个项目都有自己的 app.config,当项目构建时,它们会输出为 .dll.config 文件。在其中的每一个中,我都指定了相同的服务器,但我使用不同的数据库作为初始目录值。通过这样做,每个项目都会查看其各自的 .dll.config 并成功建立数据库连接。
我正在 运行 SQL 服务器单元测试并且有两个我想测试的测试数据库,"A" 和 "B"。在我的 VSTS 版本定义中,我将这两个测试数据库的 DACPAC 文件部署到 同一服务器 。在复制到构建输出的 app.config 文件中,我有以下连接字符串,它引用数据库 "A" 作为 "Initial Catalog":
<SqlUnitTesting>
<DataGeneration ClearDatabase="true" />
<ExecutionContext Provider="System.Data.SqlClient" ConnectionString="Data Source=XYZ;Initial Catalog=A;Integrated Security=True;Pooling=False"
CommandTimeout="30000" />
<PrivilegedContext Provider="System.Data.SqlClient" ConnectionString="Data Source=XYZ;Initial Catalog=A;Integrated Security=True;Pooling=False"
CommandTimeout="30000" />
</SqlUnitTesting>
如果我还想连接到数据库 "B",我该怎么做?
- 我可以在同一个连接字符串中创建两个初始目录吗?
- 我可以创建两个 configSections,其中一个的连接字符串引用 "A",另一个引用 "B" 吗?
- 我可以从我的连接字符串中删除 Initial Catalog 以便它不仅限制我 "A" 吗?
- 我可以创建两个 app.config 文件并将它们放在同一位置吗?
谢谢。
回答我自己的问题。我了解到每个项目都有自己的 app.config,当项目构建时,它们会输出为 .dll.config 文件。在其中的每一个中,我都指定了相同的服务器,但我使用不同的数据库作为初始目录值。通过这样做,每个项目都会查看其各自的 .dll.config 并成功建立数据库连接。