2016-06-13 54 views
0

我正在创建一个c#可执行文件作为计划任务来运行。 .exe将访问多个数据库并更新每个数据库上的相同表和列。数据库按位置分割。访问多个数据库的最佳方式是什么?我应该:c#访问多个数据库的最佳方式

  • 将连接放在app.config中,也许使用实体框架来访问每个数据库?
  • 将连接信息放入一个.txt文件中,然后使用SQL库打开连接,进行更新,关闭连接?

回答

0

无论您选择使用Entity FrameworkADO.NET总是不把你的连接字符串中App.ConfigWeb.config文件更好的可维护性什么。

这样,明天如果需要更改连接字符串;你知道只有一次地方改变这一点。

再次,更改配置文件*.config文件不需要您的代码重新生成并重新部署到生产环境。

0

建议这样的事情?

<connectionStrings> 
<add name="Db1" connectionString="Data Source=SQL.*****;Initial Catalog=Db1;Persist Security Info=True;User ID=****;Password=****;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
<add name="Db2" connectionString="Data Source=SQL.*****;Initial Catalog=Db2;Persist Security Info=True;User ID=****;Password=****;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 
<add name="Db3" connectionString="Data Source=SQL.*****;Initial Catalog=Db3;Persist Security Info=True;User ID=****;Password=****;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> 

</connectionStrings> 
0

我不知道是否有绝对最好的方式来创建这种设置。看起来你似乎有处理事情。我认为速度或(任何一种)表现都不是问题。我会说,无论你更容易维护什么,将是'最好的'。我只是这样说的,因为这些事情通常都是简单的,随着时间的推移,复杂性会增加。

祝你好运!

0

我最终做的是将常量sql字符串连接变量放在app.config下的appSettings下。然后我创建了一个csv文件,放置目录(数据库)。这允许我在需要创建新数据库时将数据库添加到csv文件。然后,我将该文件读入数组并循环访问,并且只需在从一个数据库到另一个数据库时更改连接字符串中的目录名称即可。