Exemplo n.º 1
0
            /// <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);
                    }
                }
            }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }