C# 访问不同的数据源

C# 访问不同的数据源,c#,sql,import,odbc,C#,Sql,Import,Odbc,在我的数据导入应用程序中,我希望允许用户从尽可能多的不同数据源导入数据 那么,连接到不同数据源,然后通过SQL查询从中获取数据的最佳方法是什么?需要哪些类 例如 目前,我正在使用Microsoft连接对话框()作为第一部分。但是我不知道如何使用它返回的连接字符串。OdbcConnection不会接受它(仅使用对话框生成的Micrsosoft SQL连接字符串进行测试)。是否有可能实现上述目标,或者第二部分我将被迫使用不同的类 编辑:我还希望用户能够为数据源安装自己的驱动程序。我只是不知道ODBC

在我的数据导入应用程序中,我希望允许用户从尽可能多的不同数据源导入数据

那么,连接到不同数据源,然后通过SQL查询从中获取数据的最佳方法是什么?需要哪些类

例如

目前,我正在使用Microsoft连接对话框()作为第一部分。但是我不知道如何使用它返回的连接字符串。OdbcConnection不会接受它(仅使用对话框生成的Micrsosoft SQL连接字符串进行测试)。是否有可能实现上述目标,或者第二部分我将被迫使用不同的类


编辑:我还希望用户能够为数据源安装自己的驱动程序。我只是不知道ODBC、OleDB或其他什么是我的选择,也不知道我是否/如何使用连接对话框。为每种类型的数据库连接(MSSQL、MYSQL和Oracle)向web.config添加一个连接字符串,并使用{name}}字符串,然后用用户选择的目录替换该字符串

<connectionStrings>

    <add name="mssql" connectionString="Data Source=.;Initial Catalog={{name}};Integrated Security=True" />
    <add name="mysql" connectionString="server=localhost;user id=root; password=PASS;database={{name}};pooling=false" />
    <add name="oracle" providerName="Oracle.DataAccess.Client" connectionString="Data Source={{name}};User Id=root;Password=PASS;" />

  </connectionStrings>


现在使用SqlConnection、MySqlConnection和OracleConnection类。(这些类需要mysqlconnector和oracleconnector)。

我希望用户能够安装自己的驱动程序(如ODBC)。第二部分我还需要多个类。
<connectionStrings>

    <add name="mssql" connectionString="Data Source=.;Initial Catalog={{name}};Integrated Security=True" />
    <add name="mysql" connectionString="server=localhost;user id=root; password=PASS;database={{name}};pooling=false" />
    <add name="oracle" providerName="Oracle.DataAccess.Client" connectionString="Data Source={{name}};User Id=root;Password=PASS;" />

  </connectionStrings>