.Net için Oracle'ın veri sağlayıcısına gereksinim duyacaksınız. Oracle, başlamanız için bazı çevrimiçi eğiticileri ve dokümanları here belgelemektedir.
Yükleme: (Oracle tarafından sağlanan) Oracle Data Access Components (ODAC) for Windows
örnek kod:
using System;
using System.Data;
using System.Data.Common;
using Oracle.DataAccess.Client;
class DataSourceEnumSample
{
static void Main()
{
string ProviderName = "Oracle.DataAccess.Client";
DbProviderFactory factory = DbProviderFactories.GetFactory(ProviderName);
if (factory.CanCreateDataSourceEnumerator)
{
DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator();
DataTable dt = dsenum.GetDataSources();
// Print the first column/row entry in the DataTable
Console.WriteLine(dt.Columns[0] + " : " + dt.Rows[0][0]);
Console.WriteLine(dt.Columns[1] + " : " + dt.Rows[0][1]);
Console.WriteLine(dt.Columns[2] + " : " + dt.Rows[0][2]);
Console.WriteLine(dt.Columns[3] + " : " + dt.Rows[0][3]);
Console.WriteLine(dt.Columns[4] + " : " + dt.Rows[0][4]);
}
else
Console.Write("Data source enumeration is not supported by provider");
}
}
geri Datatable içerir:
- InstanceName
- SunucuAdı
- ServiceName
- Protokol
- Liman
sunucu adını edindikten sonra bunu Dns.GetHostAddresses(string hostname)
üzerinden IP var bulabilirsiniz.
Kolayca değil. Her bir veritabanının o sunucudaki varsayılan bağlantı noktasında (1521) çalışan bir dinleyiciye sahip olduğunu varsayarsanız, her bir sunucuda 1521 numaralı bağlantı noktasına ping atabilir ve yanıt verenleri görebilirsiniz. Ad çözümlemesi için AD/Oracle Adları/OID'sini kullanırsanız, bu sunucudaki sunucuların listesini alabilirsiniz. Bir Oracle dinleyicisine benzeyen bir şeyin cevap vermediğini veya varsayılan olmayan ancak ortak bağlantı noktalarına bakıp bakmadığını görmek için diğer bağlantı noktalarına bakarak stratejiyi iyileştirebilirsiniz. –