우리는 여러 환경 (개발, 테스트, 생산 등)을 가지고 있습니다. Oracle 10g 사용. 모든 값은 web.config에서 읽습니다.하드 코딩하지 않고 다른 스키마를 참조하는 방법
두 개 이상의 데이터베이스 스키마를 사용하고 있습니다. 하나는 응용 프로그램 용이고 다른 하나는 타사 응용 프로그램 용입니다. 참조 용으로 각각 MYAPP 및 THEIRAPP이라고합니다.
이름으로 THEIRAPP를 참조하는 SQL 문이 C# 코드에 있습니다. 예 : string sql = @ "select * from THEIRAPP.address where zip = {0}";
모든 환경에서 동일한 이름 지정 규칙이 있지만 테스트 환경에서 데이터베이스 관리자가 다른 이름 (예 : THEIRAPP2)을 사용 했으므로 THIRAPP.address에 대한 호출이 작동하지 않아 제대로 작동하지 않습니다 그 환경에 존재하지 않습니다.
최소한의 변경으로 C# 코드에서 이러한 쿼리를 어떻게 변경합니까? 나는 SQL 호출이 스토어드 프로 시저에 있어야한다는 것을 알고 있지만, 코드를 작성하지 않았으며 이러한 종류의 변경 사항을 적용 할 수있는 가설을 갖고 있지 않다 (적어도 현재는 그렇지 않다).
도움이나 제안을 주시면 감사하겠습니다. 귀하의 도움에 미리 감사드립니다.
+1 누군 데 초기 생각을 선택할 것 두 가지 서로 다른 스크립트 ..하는 것입니다 품질 보증을위한 데브 하나 하나를 가지고 있었다 그들이 빌드를 할 때마다 동의어를 만듭니다. 세션 변경 아이디어 (OP가 가능한 경우)는 좋은 선택입니다. –
이것이 마침내 어떻게 작동하는지입니다. – Orin