본문 바로가기
프로그래밍 언어/.Net

.Net에서 오라클 DB에 데이터 insert와 트랜잭션 처리

by hs_seo 2013. 4. 24.

우선 오라클 DB를 연결하기 위한 라이브러리를 참조한다. 




프로젝트 -> 참조추가 항목을 이용하여 위의 System.Data.OracleClient 서비스를 참조한다. 


참조시 주의 할 점은 이 라이브러리는 .Net 프레임워크 4이하이서만 유효하다. 상위에서는 더이상 지원을 하지 않는다. 상위버전에서는 오라클에서 제공하는 Orace Driver 를 다운로드 받아야 한다. 



// 오라클 커넥션 string
string oradb = "Data Source=(DESCRIPTION="              
		+ "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=아이피)(PORT=1521)))"
		+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=사용하는SID)));"
		+ "User Id=아이디;Password=패스워드;";

// DB연결 URL 생성
string oradb = ConfigurationManager.ConnectionStrings["stxerp"].ConnectionString;

using (OracleConnection conn = new OracleConnection(oradb))
{
	// 커넥션 오픈
	conn.Open();

	using (OracleCommand cmd = new OracleCommand())
	{
	    try
	    {
		// 커맨드에 커넥션, 트랜잭선 추가
		cmd.Connection = conn;
		cmd.Transaction = conn.BeginTransaction();

		// DB 입력
		foreach (string iaKey in iaKeyList)
		{
		    cmd.CommandText = "INSERT INTO STX_AP_CARD_CHECK_LIST (ia_key) VALUES ('" + iaKey + "')";
		    cmd.ExecuteNonQuery();
		}

		cmd.Transaction.Commit();
	    }
	    catch (Exception e)
	    {
		cmd.Transaction.Rollback();
		throw e;
	    }
	}
}


반응형