Реализация алгоритма согласования набора

По умолчанию tnsnames.ora расположен в каталоге $ORACLE_HOME/network/admin в операционных системах UNIX и в каталоге ORACLE_HOME\network\admin на операционных системах Windows. tnsnames.ora может также быть сохранен следующие местоположения:

каталог, определенный переменной среды TNS_ADMIN (или значение реестра)

В операционных системах UNIX, глобальном каталоге конфигурации. Например, на Операционной системе Solaris, этот каталог является/var/opt/oracle

, Если у Вас есть несколько ORACLE_HOMES, знать, какой Вы используете, поскольку местоположение tnsnames.ora файла может варьироваться от одного ORACLE_HOME до следующего.

Для человека, который упомянул переменную среды TWO_TASK, которая используется для определения сервисного имени базы данных по умолчанию для соединения с (который мог быть базой данных по другому серверу). Сервисное имя, к которому Вы определяете TWO_TASK, тогда ищется в tnsnames.ora файле, когда Вы соединяетесь.

6
задан fionbio 21 September 2009 в 21:43
поделиться

2 ответа

Неспособность использовать GPL часто является вопросом абстракции; это если у вас проблемы с лицензией. Итак, если вы создаете небольшое приложение под GPL (выпущенное под GPL), вы можете вызывать его из своего приложения без GPL. Зачем изобретать колесо заново?

Особенно, если вы можете использовать уже существующий скрипт Python: почему бы не использовать его? Конечно, все обстоит иначе, если вы не можете раскрыть алгоритмы реконсолидации элементов.

1
ответ дан 17 December 2019 в 20:33
поделиться

Этот код не у меня в голове, и поэтому на него распространяется действие любой лицензии. примеры на этом сайте.

# given two finite sequences of unique and hashable data,
# return needed opcodes and data needed for reconciliation

def set_reconcile(src_seq, dst_seq):
    "Return required operations to mutate src_seq into dst_seq"
    src_set= set(src_seq) # no-op if already of type set
    dst_set= set(dst_seq) # ditto

    for item in src_set - dst_set:
        yield 'delete', item

    for item in dst_set - src_set:
        yield 'create', item

Используйте следующее:

for opcode, datum in set_reconcile(machine1_stuff, machine2_stuff):
    if opcode == 'create':
        # act accordingly
    elif opcode == 'delete':
        # likewise
    else:
        raise RuntimeError, 'unexpected opcode'
1
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: