我正在测试一个WinForms
应用,它会显示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 :(得分: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);