2014-09-12 51 views
0

我正在测试一个WinForms应用程序,它显示了DataConnectionDialog以配置到一个Oracle DataBase的连接。 使用的代码i'm:如何将DataConnectionDialog与Oracle提供者一起使用?

var oracleDataSource = DataSource.OracleDataSource; 
    oracleDataSource.Providers.Add(DataProvider.OracleDataProvider); 

    var dcd = new DataConnectionDialog(); 
    dcd.DataSources.Add(DataSource.OracleDataSource); 
    DataConnectionDialog.Show(dcd); 

但我需要使用新的Oracle Database (ODP.NET, Managed Driver)提供商。但在DataProvider枚举我没有这个选项。有谁知道如何添加它?

谢谢。

回答

0

我已经通过对旧的Microsoft代码进行了一些更改来实现它。 你可以找到我的代码为:https://onedrive.live.com/redir?resid=DAA8B744A27752C5!531&authkey=!AIxn6V0X3uM1NFE&ithint=file%2c7z

当您打开的对话框中使用下面的代码片段添加ODP.NET提供商:

using OracleConnectionProperties = ConnectionUIProviders.OracleConnectionProperties; 
using OracleConnectionUIControl = ConnectionUIProviders.OracleConnectionUIControl; 


     DataConnectionDialog dialog = new DataConnectionDialog(); 
     DataSource.AddStandardDataSources(dialog); 
     var p = new Microsoft.Data.ConnectionUI.DataProvider("Oracle.ManagedDataAccess.Client", "Oracle ODP.NET", 
      "Oracle ODP.NET", "Oracle ODP.NET Oracle Data Provider for .NET", 
      typeof(Oracle.ManagedDataAccess.Client.OracleConnection), typeof(OracleConnectionUIControl), 
      typeof(OracleConnectionProperties)); 
     var oracleProviders = dialog.DataSources.Single(x => x == DataSource.OracleDataSource).Providers; 
     oracleProviders.Clear(); 
     oracleProviders.Add(p); 
相关问题