본문 바로가기

[C#] Oracle 연결해서 써먹기

I'm 영서 2021. 4. 23.
반응형

# 2022.04.21 기준 Oracle Wallet 사용하여 연결은 아래링크

[C#] Oracle Wallet 사용해 Oracle Cloud Connection 연결 :: 1년차 개발자 (tistory.com)

 

[C#] Oracle Wallet 사용해 Oracle Cloud Connection 연결

기존의 오라클 연결에서 DB를 Oracle Cloud 에 만들면서 Oracle Wallet을 생성하고 해당 Wallet을 통해서만 접속이 돼서 C# 에서 접속하는 방법을 포스팅한다.. 아무것도 모르는 상태라고 생각하고 처음부

theplace.tistory.com

프로그램 개발을 위해 C#을 통해

 

다양한 DB에 접근하고 같은 변동사항을 여러 DB에 적용해야 할 일이 생겼다.

 

해당 사항을 위한 정보 적음

 

 

자바에서의 Oracle 연결단계는

 

드라이버준비

커넥션 연결

쿼리 준비

쿼리 실행

결과값 받기

닫기

 

c#도 뭐 별반 다르지는 않다.

 

일단 그림으로 설명부터 ㄱㄱ

 

execute에서 오라클에 연결해서 

 

 

1. 드라이버 준비 

 

 

참조에서 DataAccess 를 추가

미리 받아둔게 없으면 nuget 패키지에서 Oracle DataAccess 추가하자..

더보기

nuget 에서 다운받는법

NuGet패키지 관리 클릭 후 OracleDataAccess 다운받으면 된다.

 

 

 

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

댓글