Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Получить список псевдонимов подключения ORACLE


Автор: Telepyz 5.10.2013, 11:11
Необходимо получить псевдонимы подключения из tnsnames.ora, нашел пример

Код

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); //нет в 2.0
        if (factory.CanCreateDataSourceEnumerator)
        {
            DbDataSourceEnumerator dsenum = factory.CreateDataSourceEnumerator();
            DataTable dt = dsenum.GetDataSources();
            foreach (DataRow row in dt.Rows)
            {
                System.Diagnostics.Debug.Print(dt.Columns[0] + " : " + row[0]);
                System.Diagnostics.Debug.Print(dt.Columns[1] + " : " + row[1]);
                System.Diagnostics.Debug.Print(dt.Columns[2] + " : " + row[2]);
                System.Diagnostics.Debug.Print(dt.Columns[3] + " : " + row[3]);
                System.Diagnostics.Debug.Print(dt.Columns[4] + " : " + row[4]);
                System.Diagnostics.Debug.Print("--------------------");
            }            
        }
        else
            Console.Write("Data source enumeration is not supported by provider");
    }
}


но он работает на .net 3.5, а мне нужно на 2.0

Прошу о помощи, хотя бы в какую сторону курить, парсить файл не выход

Автор: jonie 7.10.2013, 12:22
Цитата(Telepyz @  5.10.2013,  12:11 Найти цитируемый пост)

Прошу о помощи, хотя бы в какую сторону курить, парсить файл не выход 

почему?
Вот тут грамматика описана: http://docs.oracle.com/cd/B19306_01/network.102/b14213/syntax.htm
А для проекта antlr уже есть готовые грамматики... что позволяет нарисовать парсер за три секунды.


Как вариант взять исходники подсмотреть и написать свой...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)