.Net 의 오라클 커넥션을 이용할 때 select 문 처리중 delete 문을 이용하면 어떻게 될 까?

2013. 4. 25. 13:39·프로그래밍 언어/.Net

.Net의 System.Data.OracleClient 를 이용하여 데이터를 select 하던 중 delete 문을 처리하면 오류가 생길까?


하나의 OracleConnection, OracleCommand, OracleDataReader 객체를 하나만 이용해서 처리했기 때문에 오류가 생길 것이라고 생각했었는데 테스트 해보니 문제가 없다. ㅎ


일단 테스트해본 row는 5000 row 인데 처리하는데 문제가 없는 것으로 보아 ExecuteReader() 명령이 한번에 5000개의 데이터를 다 가져와서 그렇거나, OracleCommand 객체를 이용하여 새로운 쿼리를 날리면 다른 세션을 생성해서 그런게 같다. 


그리고 MSDN 예제에도 이런식으로 처리하는 예제가 있는 것으로 보아(같은 방식은 아니지만) 그냥 이용해도 괜찮은것 같다. 


내가 테스트한 코드는 다음과 같다.


string oradb = ConfigurationManager.ConnectionStrings["stxdev"].ConnectionString;

using (OracleConnection conn = new OracleConnection(oradb))
{
	conn.Open();

	using (OracleCommand cmd = new OracleCommand())
	{
	    cmd.Connection = conn;
	    cmd.CommandText = "SELECT vch1, vch2 FROM xxmsc.xxmsc_temptable";

	    // 처리정보 select
	    using (OracleDataReader reader = cmd.ExecuteReader())
	    {
		while (reader.Read())
		{
		    string vch1 = reader["vch1"].ToString();
		    string vch2 = reader["vch2"].ToString();
		    // 처리중 delete 처리
		    cmd.Connection = conn;
		    cmd.Transaction = conn.BeginTransaction();
		    cmd.CommandText = "DELETE FROM xxmsc.xxmsc_temptable WHERE vch1='" + vch1 + "' and vch2 = '" + vch2 + "'";
		    cmd.ExecuteNonQuery();
		    cmd.Transaction.Commit();
		}
	    }
	}
}


반응형
저작자표시 비영리 (새창열림)

'프로그래밍 언어 > .Net' 카테고리의 다른 글

.Net에서 오라클 DB Select 하기  (0) 2013.04.25
.Net ASP에서 Web.config의 appSettings, connectionStrings 활용하기  (0) 2013.04.24
.Net에서 오라클 DB에 데이터 insert와 트랜잭션 처리  (1) 2013.04.24
.Net 에서 웹의 XML 문서를 파싱하여 필요로 하는 노드만 검색하기  (0) 2013.04.24
Oracle.DataAccess 과 System.Data.OracleClient 의 차이  (0) 2013.04.23
'프로그래밍 언어/.Net' 카테고리의 다른 글
  • .Net에서 오라클 DB Select 하기
  • .Net ASP에서 Web.config의 appSettings, connectionStrings 활용하기
  • .Net에서 오라클 DB에 데이터 insert와 트랜잭션 처리
  • .Net 에서 웹의 XML 문서를 파싱하여 필요로 하는 노드만 검색하기
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    Linux
    다이나믹
    mysql
    오류
    Tez
    알고리즘
    백준
    error
    nodejs
    S3
    airflow
    정올
    하이브
    build
    HIVE
    하둡
    Python
    emr
    yarn
    AWS
    파이썬
    HDFS
    SPARK
    Hadoop
    hbase
    bash
    oozie
    java
    k8s
    ubuntu
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
.Net 의 오라클 커넥션을 이용할 때 select 문 처리중 delete 문을 이용하면 어떻게 될 까?
상단으로

티스토리툴바