使用ADO.NET同时连接到SQL Server,Oracle,DB2和MySQL?

时间:2011-01-21 03:27:43

标签: sql-server oracle ado.net db2

我对.NET比较陌生,但我正在尝试确定是否可以使用ADO.NET将一个.NET 4应用程序同时连接到多个供应商数据库(SQL Server,Oracle,DB2和MySQL)同时执行查询?

到目前为止,我发现的所有示例都谈到了一次只连接一个数据库。 谢谢!

3 个答案:

答案 0 :(得分:1)

您只需要4个连接字符串和4个单独的ADO Connection对象。然后,如果你真的希望它们并行运行,那么SLaks所说的异步查询可以同时执行它们。

答案 1 :(得分:0)

您可以像执行一个查询一样执行两个查询。

如果您希望它们一次执行两个查询,则需要进行异步查询或使用线程。

答案 2 :(得分:0)

ADO.NET框架定义了一组抽象的'DbXXX'类,如DbConnectionDbCommand等,它们由各种数据库提供程序实现,如

  1. System.Data.dll for Sql Server中的System.Data.SqlClient.SqlConnection'
  2. Oracle的Oracle.DataAccess.dll(ODP.NET提供程序)中的'Oracle.DataAccess.Client.OracleConnection'
  3. MySql.Data.dll for MySql等中的
  4. 'MySql.Data.MySqlClient.MySqlConnection'

    然后,您需要针对抽象类集设计您的应用程序,并在需要时使用适当的实现。大多数查询都应该适用于所有后端,但显然会有后端特定的调整,更不用说存储过程调用了。

  5. 或者,您可以使用ORM(实体框架,Telerik OpenAccess ORM,NHibernate等)并将这些差异的大部分内容抽象到ORM。虽然我不确定您是否可以针对多个后端使用单个实体模型(在EF中)。