powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Парсер Oracle connectionString
3 сообщений из 3, страница 1 из 1
Парсер Oracle connectionString
    #38564018
RodeRebel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У кого нибудь есть функция - парсер строки соединения типа:
string cs = @"Data Source=(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=OTNSRVR)(PORT=1521)))
(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));
User Id=scott;Password=tiger;";
чтобы f("SERVICE_NAME") возвращает значение "ORCL"
или f("PORT") возвращает значение "1521"
(чтобы заменить в дальнейшем только один из значений)?
...
Рейтинг: 0 / 0
Парсер Oracle connectionString
    #38564060
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
OracleConnectionStringBuilder csb2 = new OracleConnectionStringBuilder(connectionString_);
Console.WriteLine(csb2.UserID);
...
Рейтинг: 0 / 0
Парсер Oracle connectionString
    #38564158
RodeRebel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pallaris, спасибо!
Вроде, получаю ключи,
Я получил:

MIN POOL SIZE = 1
PROMOTABLE TRANSACTION = promotable
ENLIST = true
DECR POOL SIZE = 1
USER ID = scott
CONNECTION TIMEOUT = 15
MAX POOL SIZE = 100
PASSWORD = tiger
DATA SOURCE = (DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OTNSRVR)(PORT = 1521) )) (CONNECT_DATA =(SERVICE_NAME = ce)) )
...
с помощью
string res = "";
OracleConnectionStringBuilder csb2 = new OracleConnectionStringBuilder(ConnectionString);

ICollection keyCollection = csb2.Keys;
ICollection valueCollection = csb2.Values;
IEnumerator keys = keyCollection.GetEnumerator();
IEnumerator values = valueCollection.GetEnumerator();
while (keys.MoveNext())
{
values.MoveNext();
res += String.Format (" {0} = {1} \n"
, keys.Current, values.Current);
}
return res;
но именно некоторые пары ключ-значение все еще остаются внутри другого,
точнее чтобы получить ПОРТ надо разобрать сложную структуру значения DATA SOURCE:
(DESCRIPTION =(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = OTNSRVR)(PORT = 1521) )) (CONNECT_DATA =(SERVICE_NAME = ORCL)) ) . Кажется надо использовать регуляр экспресшнс...
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Парсер Oracle connectionString
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]