[C#] Oracle 연결해서 써먹기
# 2022.04.21 기준 Oracle Wallet 사용하여 연결은 아래링크
[C#] Oracle Wallet 사용해 Oracle Cloud Connection 연결 :: 1년차 개발자 (tistory.com)
프로그램 개발을 위해 C#을 통해
다양한 DB에 접근하고 같은 변동사항을 여러 DB에 적용해야 할 일이 생겼다.
해당 사항을 위한 정보 적음
자바에서의 Oracle 연결단계는
드라이버준비
커넥션 연결
쿼리 준비
쿼리 실행
결과값 받기
닫기
c#도 뭐 별반 다르지는 않다.
일단 그림으로 설명부터 ㄱㄱ
execute에서 오라클에 연결해서
1. 드라이버 준비
미리 받아둔게 없으면 nuget 패키지에서 Oracle DataAccess 추가하자..
nuget 에서 다운받는법
2. 커넥션 연결
private OracleConnection getConnection(DataRow dr)
{
OracleConnection conn = new OracleConnection();
string con_str = $@"User ID= {dr["DS_USERID"]};Password={dr["DS_PASSWORD"]};pooling=false;Data Source=(DESCRIPTION=";
con_str = con_str + $@"(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={dr["DS_IP"]})(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME= {dr["DS_SERVER"]})));";
conn.ConnectionString = con_str;
return conn;
}
나같은 경우에는 접속정보를 담은 DataRow를 가지고 와 해당 Row를 이용해 OracleConnection 객체를 인스턴스화 하고 커넥션 주소를 설정했다..
3. 쿼리 준비
그냥 string 형으로 쿼리 쓰면됨 추가로 : 기호를 사용해서 대입하고 싶으면 cmd.BindByName() 을 사용하면 된다.
4. 쿼리 실행 , 5 결과값 받기
위와 같이 insert, update등의 결과값이 없는 쿼리는 ExecuteNonQuery 를 사용하면 되고
select 는
다양한 방법이 있지만 나는 결과값을 테이블에 담는 방식을 채용했다.
6. 닫기
무조건적으로 실행해주는 Finally를 사용해서 꼭 닫아주자.
이러면 C#에서 Oracle 접속을 하고 데이터를 주고받을 수 있다.
'Study > C#' 카테고리의 다른 글
[C#] Sealed (0) | 2022.04.12 |
---|---|
[C#] C#에서 POST방식으로 특정 URL로 데이터 전송 (0) | 2022.04.07 |
[C#] C#에서 DataTable 을 JSON으로 변경 (0) | 2022.04.07 |
[C#] 파일 입출력 (0) | 2021.04.19 |
[C#] C#에서의 배열 (0) | 2021.03.04 |
댓글