/// <summary> /// DB 쿼리 실행.(CLOB 데이터 입력 용) /// BeginTransaction에 의한 관리 외의 경우, 자동으로 COMMIT 합니다. /// </summary> /// <param name="querySelectForUpdate"></param> /// <param name="clobData"></param> /// <returns>쿼리 실행 결과 데이터</returns> public QueryResultDataInfo ExecuteQueryForClob(string querySelectForUpdate, string clobData) { QueryResultDataInfo resultData = null; OracleDataReader reader = null; try { this.oracleDB.QueryData(querySelectForUpdate, out reader); if (reader == null) { return(null); } resultData = new QueryResultDataInfo(); resultData.AffectedRecordCnt = reader.RecordsAffected; reader.Read(); OracleClob clob = reader.GetOracleClob(1); clob.Erase(); Encoding utf16Encoding = Encoding.GetEncoding("utf-16"); byte[] clobDataByteArray = utf16Encoding.GetBytes(clobData); clob.Write(clobDataByteArray, 0, clobDataByteArray.Length); clob.Close(); clob.Dispose(); clob = null; } catch (Exception ex) { System.Console.WriteLine("[DBConnector] ExecuteQueryForClob( " + ex.ToString() + " )"); FileLogManager.GetInstance().WriteLog("[DBConnector] ExecuteQueryForClob( Exception=[" + ex.ToString() + "] )"); return(null); } finally { if (reader != null) { reader.Close(); reader.Dispose(); reader = null; } } return(resultData); }
/// <summary> /// DB 쿼리 실행. /// BeginTransaction에 의한 관리 외의 경우, 자동으로 COMMIT 합니다. /// </summary> /// <param name="query"></param> /// <returns>쿼리 실행 결과 데이터</returns> public QueryResultDataInfo ExecuteQuery(string query) { QueryResultDataInfo resultData = null; OracleDataReader reader = null; try { this.oracleDB.QueryData(query, out reader); if (reader == null) { return(null); } resultData = new QueryResultDataInfo(); resultData.AffectedRecordCnt = reader.RecordsAffected; // 데이터 추출 while (reader.Read()) { RowData rowData = new RowData(); for (int i = 0; i < reader.FieldCount; i++) { rowData.FieldDataList.Add(reader[i].ToString()); } resultData.DataList.Add(rowData); } } catch (Exception ex) { System.Console.WriteLine("[DBConnector] ExecuteQuery( " + ex.ToString() + " )"); FileLogManager.GetInstance().WriteLog("[DBConnector] ExecuteQuery( Exception=[" + ex.ToString() + "] )"); return(null); } finally { if (reader != null) { reader.Close(); reader.Dispose(); reader = null; } } return(resultData); }