2017-04-20 8 views
0

sys 사용자로 데이터베이스에 연결하고 싶습니다. 스키마를 다른 사용자로 변경하십시오. 쿼리를 실행하고 결과를 파일에 씁니다.스키마 변경, 쿼리 실행 및 파일에 출력 작성

나는 구술 관리 데이터 액세스를 사용하고 있습니다. https://www.nuget.org/packages/Oracle.ManagedDataAccess/

나는 이미 세 가지 다른 방법을 시도했다.

1) spool-가> 쿼리 '끝'즉시 실행 'immediate'changeschema을 실행 내가 SQLPLUS를 실행하고 있지 않다 때문에 작동하지만

2. managedDataAccess

연결) 시작하지 않는 -> 독자 때문에 아무런 출력이 없습니다 시작/끝

3) 연결을 변경하려고합니다. conn.ChangeDatabase (user); ,

string oradb = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + host + ")(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" + instance + ")));User Id = " + oracleUser + "; Password =" + oraclePassword; 

내가 연결 문자열

+0

어떤 데이터베이스를 사용하고 있습니까? 당신은 mysql과 oracle 태그를 붙일 수있다. 둘 다 될 수 없다. 태그를 수정하십시오. –

+0

고정 :) 죄송합니다. – user2811630

+0

문제는 없지만 흔히 저지른 실수는 아닙니다. –

답변

0

당신이 SYS로 연결하면 스키마를 변경할 필요가 없습니다 내에서 스키마를 변경할 수 : managedDataAccess

작동하지 않는 것은이 내 연결 문자열입니다 from 절에서 스키마를 참조 할 수 있습니다.

select * 
from my_user.my_tab 
; 
+0

답장을 보내 주셔서 감사합니다. 나는 이미 그것을 알고 있지만 이것은 나를위한 해결책보다 더 많은 해결 방법이다. 나는 커스텀 질의를 실행 중이며 질의에 입력 할 필요가 없다. – user2811630

+0

SYS에 owner.table_name과 동의어를 사용할 수 있습니다. –