2014-09-12 47 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); 
相關問題