/// <summary> /// 오라클에 Package가 있는지 검사를 하여 준다. /// </summary> /// <param name="strConn"></param> /// <param name="strTableName"></param> /// <returns></returns> public static bool PACKAGE_Check_Exists(OracleDB.strConnect strConn, string strPackageName) { OracleDB clsDB = new OracleDB(strConn.strTNS, strConn.strID, strConn.strPass); //TAUTOUPDATE 테이블 존재 검사 후 없으면 생성 하여 준다. string Sql = string.Format(@"SELECT COUNT(*) FROM USER_OBJECTS WHERE OBJECT_TYPE ='PACKAGE' AND OBJECT_NAME = '{0}'" , strPackageName); using (DataSet ds = clsDB.dsExcute_Query(Sql)) { int intTableCnt = Convert.ToInt32(ds.Tables[0].Rows[0][0]); if (intTableCnt < 1) { return(false); } else { return(true); } } }
/// <summary> /// db¿¡ ÀúÀåµÈ ÆÄÀÏ Á¤º¸¸¦ Á¶È¸ ÇÑ´Ù. /// </summary> /// <param name="strConn"></param> /// <param name="strUpdateType"></param> /// <param name="strFileName"></param> public static DataSet FileInfo_GetList(OracleDB.strConnect strConn, string strUpdateType) { OracleDB clsDB = new OracleDB(strConn.strTNS, strConn.strID, strConn.strPass); OracleParameter[] param = new OracleParameter[] { new OracleParameter("ps_UpdateType", OracleDbType.Varchar2, 20), new OracleParameter("OUT_CURSOR", OracleDbType.RefCursor) }; param[1].Direction = ParameterDirection.Output; param[0].Value = strUpdateType; return(clsDB.dsExcute_StoredProcedure("AutoUpdater_PKG.FileInfo_GetList", param)); }
/// <summary> /// db¿¡ ÀúÀåµÈ ÆÄÀÏ image¸¦ ±¸ÇÑ´Ù. /// </summary> /// <param name="strConn"></param> /// <param name="strUpdateType"></param> /// <param name="strFileName"></param> /// <param name="strPath"></param> /// <returns>CRCƒ„</returns> public static string FileInfo_GetFile(OracleDB.strConnect strConn, string strUpdateType, string strFileName, string strPath, int intTotalSize, delFileInfo_GetFile del) { OracleDB clsDB = new OracleDB(strConn.strTNS, strConn.strID, strConn.strPass); OracleParameter[] param = new OracleParameter[] { new OracleParameter("ps_UpdateType", OracleDbType.Varchar2, 20), new OracleParameter("ps_FileName", OracleDbType.Varchar2, 100), new OracleParameter("ps_FileImage", OracleDbType.Blob) }; param[2].Direction = ParameterDirection.Output; param[0].Value = strUpdateType; param[1].Value = strFileName; clsDB.BeginTransaction(); clsDB.intExcute_StoredProcedure("AutoUpdater_PKG.FileInfo_GetFileImage", param); OracleBlob Lob = (OracleBlob)param[2].Value; int blockSize = 15000; //Àӽà µð·ºÅ丮¿¡ ÀúÀå ÇÑ´Ù. int intRecevedFileSize = 0; FileInfo fi = new FileInfo(strPath + strFileName); if (!Directory.Exists(fi.DirectoryName)) { Directory.CreateDirectory(fi.DirectoryName); } using (FileStream fs = new FileStream(strPath + strFileName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { using (BinaryWriter Bw = new BinaryWriter(fs)) { try { byte[] byteArray = new byte[blockSize]; int bytes; while ((bytes = Lob.Read(byteArray, 0, byteArray.Length)) > 0) { Bw.Write(byteArray, 0, bytes); // ¿©±â¼ bytesÁ¤º¸¸¦ ´©ÀûÇسª°¡¸é¼, ÇØ´ç ´©ÀûÁ¤º¸¸¦ ½º·¹µå¸¦ ÅëÇØ // »ç¿ëÀÚ¿¡°Ô º¸¿©ÁÖ¸é, ´Ù¿î·Îµå ÁøÇà»óȲÀ» Ç¥ÇöÇÒ ¼ö ÀÖ°Ú´Ù.(ÇØ´ç ±¸Çö »çÇ×Àº »ý·«) intRecevedFileSize += bytes; if (del != null) { del(strFileName, intTotalSize, intRecevedFileSize); } } } catch { throw; } finally { Bw.Flush(); fs.Flush(); Bw.Close(); fs.Close(); fs.Dispose(); clsDB.RollBackTransaction(); } } } return(system.clsFile.Get_Crc32(fi)); }