コード例 #1
0
ファイル: DBConnector.cs プロジェクト: jay-JYPark/CAP-System
        /// <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);
        }
コード例 #2
0
ファイル: DBConnector.cs プロジェクト: jay-JYPark/CAP-System
        /// <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);
        }