본문 바로가기
반응형

IT88

MSSQL 형변환 오류 벗어나기 TRY_CONVERT TRY_CONVERT : CONVERT 시에 나오는 모든 에러를 NULL로 처리하여 반환한다. 가끔 데이터 형변환을 하거나 타입별로 형변환을 처리하는데 기존 데이터가 해당하는 타입에 맞지 않는경우 에러를 뱉어 내며, 해당하는 데이터를 찾는건 매우 힘든 일이다. (ex: convert(date,'1') 과 같이 특정 문제가 되는 데이터를 찾아서 바꿔줘야하는데 데이터가 몇십만건이 될 경우 잡아내기 매우 힘듬..) 고로 TRY_CONVERT를 사용하여 해당하는 데이터는 무시하여 정보를 추출하도록 한다. 단, TRY_CONVERT의 경우 MS SQL 2005버전 부터 지원하며 지금 현재 나의 데이터베이스가 2005 버전 이전에서 만들어졌고, 해당하는 데이터베이스를 2016등의 버전에 IMPORT할 경우 호환성 .. 2022. 7. 21.
MSSQL WITH(NOLOCK) , SELECT시 잠금무시 MSSQL 은 기본적으로 SELECT 시 공유잠금(S Lock) 이 걸린다. 이는 MSSQL 의 기본 격리수준(Isolation Level) 이 Read Committed 이기 때문이다. 즉, DML(INSERT, UPDATE, DELETE) 작업중인 ROW 또는 TABLE 에 SELECT 할 경우, 해당 작업이 끝나야 SELECT 할 수 있다는 의미이다. 만일 이렇게 수행된다면 DB의 성능은 떨어지고, 데드락(Deadlock) 이 발생될 수 있다. 이를 방지하기 위해 WITH(NOLOCK) 을 사용할 수 있다. WITH(NOLOCK) 의 격리수준(Isolation Level)은 Read Uncommitted 와 같다고 보면 된다. 즉, SELECT 할 ROW 또는 TABLE 이 잠겨있어도(작업중이여도).. 2022. 7. 21.
MSSQL 형변환 방법 CONVERT와 CAST MSSQL에서 사용되는 데이터 타입 변환 함수는 CONVERT함수와 CAST함수입니다. 두 함수 다 하나의 유형에서 다른 유형으로 데이터를 변환하는 데 사용합니다. 쓰는 방식만 조금 다르고 하는 일은 같습니다. 자세한 설명은 해당 사이트에 있으니 참조하시기 바랍니다. Conver함수와 Cast함수 사용링크 Convert 개인적으로 가장 많이 사용하는 데이터 변환 함수라고 생각합니다. 날짜 변환하는데도 유용하게 사용 가능합니다. 참고로 부동 소수점 또는 숫자에서 정수로 변환할 때 CONVERT() 함수는 결과를 자르고 다른 변환일 경우에는 반올림합니다. 사용법 --문법-- CONVERT(data_type[(length)], expression[style]) --예시-- SELECT CONVERT(NVARC.. 2022. 7. 21.
MS SQL CRUD 자동 생성 프로시저 쿼리 프로그램을 개발하다보면, 반복적으로 CRUD SQL문을 작성하는 경우가 많다. 시간을 어느정도 절약 할 수 있도록 공유된 프로시저를 이용하면 기본 SELECT, INSERT, UPDATE, DELETE 문을 만들어주기에 개발속도 및 개발 효율성을 증가 시킬 수 있다. -- EXEC [dbo].ZZZ.PROCEDURE_CREATOR '첫번째파라미터','두번째파라미터','세번째파라미터' 첫번째파라미터 => Database 테이블명 두번째파라미터 => 프로시저 생성자이름 세번째파라미터 => 프로시저에 대한 설명 공통문 CRUD 자동 스크립트 -- ============================================= -- AUTHOR: ProSungsiler -- CREATE DATE: 2019-0.. 2022. 7. 21.
xPlatform Static에서 개행하기 Static에서 값 넣을때 개행하고 싶으면 밑에와 같이 하면된다. Static00.text = "가" + String.fromCharCode(13) + String.fromCharCode(10) + "나"; 2022. 7. 20.
xPlatform 데이터셋 updatecontrol setRowType 주의 사항 개발하다보면 데이터셋의 rowtype을 수동으로 고쳐야만하는 상황이 생긴다. 그럴때는 updatecontrol 을 false로 하고 setRowType을 이용해서 rowType을 고쳐주면 된다. 하지만 맘대로 updatecontrol 을 false, true로 왔다갔다해버리면 데이터셋이 비정상적으로 동작할수 있으니 주의해야 한다. 고치고 싶다면 updatecontrol의 변경은 true에서 false로만 변경해서 사용해야 한다. 예를들어 Dataset01.deleteRow(0); Dataset01.deleteRow(3); this.Dataset01.updatecontrol = false; for(var i = 0 ; i < this.Dataset01.rowcount ; i++) { this.Dataset.. 2022. 7. 20.
nexacro showcase 넥사크로 쇼케이스입니다. http://support.tobesoft.co.kr/Next_JSP/nexacro17_deploy/Showcase/launch.html 2022. 7. 20.
넥사크로 현재 화면에서 사용 중인 데이터셋 목록 가져오기 넥사크로 개발하다면도 현재 화면에서 개발중인 데이터셋들에 실제 값이 궁금할 때가 있다. 매번 trace할수는 없기 때문에 이 팝업을 사용하면 싶게 알수 있다. 사용법은 단순하게 사용하고 싶은 화면에서 이화면을 호출해주면 되는데. 공통으로 단축키를 만들어 넣어도 되고. 아니면 화면에서 직접 호출해서 써도 된다. ex> application.open("callVd","위치::vd.xfdl",this,"", "showtitlebar=true resizable=true border=1",50,50,1024,800); 참고로 알아둬야할 사항은 위에 edtWorkDiv가 중요한데. 보통 main Frame안에 Left, Top, Work Frame(명칭다를수 있음)을 만들고 메뉴를 누르면 Wokr Frame 안에 .. 2022. 7. 20.
nexacro에서 객체, 폼, 프레임 간 접근방법 출처 : http://tobetong.com/?p=4934 nexacro에서 객체, 폼, 프레임 간 접근방법 – TOBETONG 업무 기능(화면 간 데이터 전달, 화면 제어 등) 구현 시에 많이 사용되는 팝업창, 폼, 프레임에 접근하는 방법을 nexacro에서 사용되는 실제 예제를 통해 알아보겠습니다. 이 같은 방법은 간단한 내 tobetong.com 업무 기능(화면 간 데이터 전달, 화면 제어 등) 구현 시에 많이 사용되는 팝업창, 폼, 프레임에 접근하는 방법을 nexacro에서 사용되는 실제 예제를 통해 알아보겠습니다. 이 같은 방법은 간단한 내용이지만 실제 업무를 할 때 많은 고객들이 혼동하는 기능이기도 합니다. 프로젝트 구조에(프레임 설정) 따라 접근을 해야 하는 방법이 달라질 수 있으므로 미리 .. 2022. 7. 19.
nexacro 기본세팅 및 엑스플랫폼 차이 Gernerate Path : Nexacro 파일을 웹화면(.xfdl.js) 파일로 Gernerate(build) 할 때 파일이 생성되는 경로를 지정해준다. Base Lib Path : 공통라이브러리(.js)가 있는 경로를 잡아준다. 외부컴포넌트 경로지정 : *.dll파일들이 있는 경로를 지정해준다. 넥사크로와 엑스플랫폼 가장큰 차이는 보통 xPlatform은 자체 브라우저를 사용해서 구동하지만 넥사크로는 파일을 Generate(Build)해서 *.xfdl.js 파일로 변환해 (웹표준에 맞춰) 웹에 뛰울수 있도록 해준다. (물론 자체 전용 브라우저를 실행도 가능) 따라서 넥사크로에 경우는 *.xfdl 파일과 *.xfdl.js파일 둘다 커밋 및 서버에 적용이 필요하다. Generate는 특수한 경우 아니면.. 2022. 7. 19.
대용량 insert 출처 : 어디선가 복사해둔 글인데 사이트를 잊어버렸는네요..;; ㅠㅠ 몇가지 방안이 있습니다. 그런데 명심하실 건, DBMS 에서 다량의 insert 쿼리는 매우 좋지 않다는 것입니다. 가장 좋지 않는 방법에서 좋은 방법 순으로 나열하겠습니다. 1. insert into ~ values ~; insert ~ values ~; ... 2-1. insert all into ~ values ~ into ~ values ~ ...; (Oracle) 2-2. insert into ~ select ~ union all select ~ ...; (MS SQL Server) 2-3. insert into ~ values ~, ~, ... (MySQL) 3. Bulk Insert Bulk insert 가 효율이 가장 좋.. 2022. 7. 6.
코틀린 Kotlin https://www.youtube.com/watch?v=SEPgoMZut6s&list=PLzkhjlqMgxvBil2PsIy23LGJ4NVZmDlRX 이 동영상 참고한 내용입니다. -- 필수세팅 1. file>setting -> editor > general > Auto Import -> java, kotlin 에 auto import 모두 체크 2. build.gradle(Module...) > plugins에 id 'kotlin-android-extensions' 구문추가. (현재 최신 버전에서는 kotlin-parcelize라고 기술해야한다.) -- 프로젝트 복사 / 새로열기 / 프로젝트 이름 바꾸기 https://www.youtube.com/watch?v=GH29nCukxd8&list=PLzkhj.. 2022. 7. 1.
기초 문법(NEXACRO 17.1 기준) NEXACRO 17.1 기준 동영상 강좌 https://www.youtube.com/playlist?list=PLgoHUQa-ZzHAbNjKAl1DyWDrseM_NxxAG 투비소프트 넥사크로플랫폼 17(온라인 교육 녹화본) www.youtube.com - 로그출력 nexacro.getApplication().trace("log"); this.alert('log'); - 컴포넌트 속성 this.btn.text; // 속성값 this.btn.set_text("속성값"); // 꼭 set을 써줘야함. - 변수선언 var str1 = ""; // 자신의 현스크립트 영역에서만 사용가능. (자신에 폼에서 또는 다른 폼에 스크립트에서도 이건 접근못함) this.str2 = ""; // 자신의 폼이나 다른폼에서도 접근.. 2022. 3. 21.
오라클 페이징 쿼리. ------------------------------------------------------------------------------------------------------------------------- ▣ 문제 : 페이징 쿼리가 느리다. ▣ 데이터 건수 : 1억건 ▣ 인덱스 : PK_TB_TABLE ( COL_01, COL_02 ) ------------------------------------------------------------------------------------------------------------------------- 그냥 페이징인데! 속도가 느리다. 페이징 방식은 많이 있다. 그중에 대용량 데이터에서 많이 사용하는 ROWNUM 방식으로 쿼리 했지만 결과가 느.. 2022. 2. 18.
JSP 웹사이트 개발 -. 컨트롤 과 뷰간에 데이터 주고 받기 - 스프링 - ${} - EL 표현식 문법과 사용 방법 ======================================= 개발 참고 추천 사이트 : https://www.w3schools.com/ https://ko.javascript.info/ ======================================= 1. request에 대한 결과값을 특정 주소로 결과 값을 보낼때.... 1-1. 컨트롤러 변수값 생성 및 보내기 @RequestMa...("") public String sSend(...... Model modle....) { --첨부할 일반변수 model.addAttribute("변수명" ,변수값(List,VO,Map,String.....)).. 2022. 2. 17.
스프링 1. 스프링 MVC 호출 순서와 기본 설정 방법 2. 스프링 Bean의 개념과 Bean Scope 종류 3. 스프링 Annotation 4. 스프링 AOP 개념 이해 및 적용 방법 4-1. 스프링 AOP 5. 컨트롤 와 뷰간에 데이터 주고 받기 -1 (파라메터 종류) 6. 컨트롤 와 뷰간에 데이터 주고 받기 - 2 (파라메터 종류) 7. 스프링 Intercepter 8. 스프링 Listener 9. 스프링 필터 (필터와 인터셉터 차이점) 10. 스프링 Filter 와 Listener 2022. 2. 17.
gitHub 시작하기 출처 : https://blog.dalso.org/it/git/12790 https://github.com/ GitHub: Where the world builds software GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat... github.com 깃허브는 분산 버전 관리 툴인 ‘Git’을 사용하는 프로젝트를 지원하는 웹호스팅 서비스이다. 루비 온 레일스로 작성되었다. GitHub는 영리적인 서비스.. 2021. 8. 4.
gitHub 이클립스로 연동하기 출처 : https://m.blog.naver.com/rlqud1125/221658862879 https://coding-factory.tistory.com/248 Git을 사용하는 이유를 간단하게 설명하자면 실무에서 협업의 이유도 있고 갑작스러운 컴퓨터 오류로 프로젝트가 삭제되었을 때를 대비한 백업의 용도로도 사용할 수 있다. ​ 이클립스를 사용하면 명령어를 사용하지 않고 편하게 프로젝트를 올릴 수 있다. 1. 먼저 깃 저장소에 올릴 프로젝트가 있어야 한다. 대충 깃 허브에 올리기 위해 간단한 자바 프로젝트를 만들어봤다. 프로젝트는 그냥 자신이 깃에 올리고 싶은 프로젝트를 사용하면 된다. ​ 2. 자신의 깃허브에 저장소를 만든다. 만약 아이디가 없다면 빨리 만들어준다... 아이디 만드는 건 어렵지 않게.. 2021. 8. 4.
nexacro 그리드 셀에 내용이 길면 툴팁 보이기 nexacro 그리드 셀에 내용 중 셀에 크기보다 길경우 자동으로 툴팁을 보여주는 예제입니다. Source 1 test test test test 123 abc 2 test1 tobesoft nexacro test 3 test2345678901234567890 abcdefghijklmnopstuvwxyz Script this.Grid00_onmousemove = function(obj:Grid, e:nexacro.GridMouseEventInfo) { var nCellSize = obj.getFormatColSize(e.cell); var strText = obj.getCellText(e.row, e.cell); var nTextLen = nexacro.getTextSize( strText, "norma.. 2021. 2. 5.
nexacro component 동적 생성하기 nexacro component 동적 생성하기 //dynamic create var objStatic = new Static("Static01", 10, 100, 100, 50); //objStatic.set_cssclass("sta_WFDA_Data"); objStatic.set_border("1px solid red"); objStatic.set_text("Static01"); this.addChild("Static01", objStatic); objStatic.show(); this.Button00_onclick = function(obj:Button, e:nexacro.ClickEventInfo) { var rtnObj; //delete comp for(var i=this.components.le.. 2021. 2. 4.
nexacro 대소문자 구분없이 필터하기 nexacro 대소문자 구분없이 필터하기 var sFilter = "Column1.toString().toUpperCase().indexOf('" + this.Edit00.value.toUpperCase() + "') >= 0"; this.Dataset00.filter(sFilter); Source 63034 북촌리 63035 조천리 63036 함덕리 63037 예초리 63038 금능리 63039 금등리 63040 대서리 청수리 63043 묵리 63044 영흥리 63045 저지리 63046 하귀2리 63047 조수리 63048 하귀1리 63049 연평리 63050 신창리 63051 용수리 63053 와산리 63054 와흘리 63055 상대리 63056 명월리 63057 동명리 63058 금악리 63059.. 2021. 2. 4.
반응형