Соединение с Oracle неправильно обрабатывается в коде C #, и это вызывает трудности.
Если уровень доступа к данным был определен отдельно, как предлагает Грегори, или если в инструкциях SQL использовалось более общее соглашение об именах, как указывает ответ А. Б., тогда было бы намного проще переключаться между двумя базами данных.
Поскольку наш мандат в настоящее время не предусматривает внесения каких-либо изменений / рефакторинга кода, я использую подход резервного копирования и восстановления:
Я создаю резервную копию рабочей базы данных. Затем я делаю необходимые тесты и изменения в базе данных. Если мне нужно вернуться к рабочей базе данных, я снова создаю резервную копию «тестируемой» базы данных и восстанавливаю исходную рабочую базу данных, используя соответствующий флаг для замены существующих таблиц в случае восстановления. Это позволяет мне переключаться между «рабочей» базой данных и «тестовой» базой данных.
Это не идеально, так как для резервного копирования и восстановления требуется некоторое время, но он работает без влияния на код C # и дает возможность выполнять работу с «тестовой» базой данных, не затрагивая рабочую. Поскольку это временный сценарий, пока база данных «тестирования» не заработает, я буду придерживаться этого подхода.
Как указывают другие ответы - существует более общая необходимость исправить / реорганизовать / обобщить код подключения - я считаю, что это лучший подход, и единственная причина, по которой я не делаю этого сразу, заключается в том, что мы еще не поручено изменить код.