我对.NET比较陌生,但我正在尝试确定是否可以使用ADO.NET将一个.NET 4应用程序同时连接到多个供应商数据库(SQL Server,Oracle,DB2和MySQL)同时执行查询?
到目前为止,我发现的所有示例都谈到了一次只连接一个数据库。 谢谢!
答案 0 :(得分:1)
您只需要4个连接字符串和4个单独的ADO Connection对象。然后,如果你真的希望它们并行运行,那么SLaks所说的异步查询可以同时执行它们。
答案 1 :(得分:0)
您可以像执行一个查询一样执行两个查询。
如果您希望它们一次执行两个查询,则需要进行异步查询或使用线程。
答案 2 :(得分:0)
ADO.NET框架定义了一组抽象的'DbXXX'类,如DbConnection,DbCommand等,它们由各种数据库提供程序实现,如
'MySql.Data.MySqlClient.MySqlConnection'
然后,您需要针对抽象类集设计您的应用程序,并在需要时使用适当的实现。大多数查询都应该适用于所有后端,但显然会有后端特定的调整,更不用说存储过程调用了。
或者,您可以使用ORM(实体框架,Telerik OpenAccess ORM,NHibernate等)并将这些差异的大部分内容抽象到ORM。虽然我不确定您是否可以针对多个后端使用单个实体模型(在EF中)。