• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 5995
2015.07.02 (14:58:23)

게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.

**필수입력사항**

* 고객(업체)명 : 한국 서부발전
* 제품 버전 : gauce 4.0
* 문의 유형(질문/요청/참조) : clob 데이터 처리 및 저장  
* 내용 : 

clob 데이터 저장관련 해서 질문을 드릴려고 합니다.


소스 :

저장 버튼 클릭 시 호출 스크립트

function on_save() {

ta_content1.Enable = truel;

ta_content2.Enable = true2;

ta_content3.Enable = true3;

ta_content4.Enable = true4;

ta_content5.Enable = true5;

ds_01.NameValue(ds_01.RowPosition, "CONTENT1") = "ta_content1"


tr_01.ExtProp("UseActionBlank") = "T";

tr_01.Post();

}


tr 오브젝트 선언

<object id=tr_01 classid="">

<param name="ServerIP value="">

<param name="Action"  value="transaction.jsp">

<param name="KeyName" value="toinb_dataid4">

<param name="KeyValue" value="JSP(I::IN_DS1=ds_01)">

</object>


textarea 오브젝트 선언

<object classid="" id="ta_content1" width="100%" height="100>

<param name=CacheLoad value=true>

<param name=Enable value=true>

<param name=ApplyRTF value=true>

</object>


bind 오브젝트 선언

<object id="bd_01" classid="">

<param name=DataID value=ds_01>

<param nameBindInfo value='

<C>Col="CONTENT1" Ctrl="ta_content1" Param=Src</C>

'

</object>


이렇게 코딩을 하고 저장을 할려고 하니 CLOB 데이터가 1byte로 생성이 되면서 글 내용을 사라지는 현황이

발생을 합니다.


어디서 잘못 된건인지 알고 싶은데... CLOB 관련된 모든 소스를 확인해 봐도 정확한 원인을 알 수가 없네요..

혹시 다른 부분에 설정을 해야 하는 부분이 있는 것인지.. 궁금 합니다.


답변 기다리겠습니다.

2015.07.06 (08:52:21)
shift

1. 저장 전 데이터가 정상적으로 들어있는지 확인해 보시기 바랍니다.

alert(ds_01.text);

tr_01.Post();

 

2. OndataError를 사용하여 포멧에 이상이 있는지 확인해 보시기 바랍니다.

http://member.shift.co.kr/ComponentManual/AMX/Basic/DataSet/Event/OnDataError/OnDataError.htm

 

3. 또한 콜론(:)을 하나만 사용하시기 바랍니다.

 I::IN_DS1=ds_01 > I:IN_DS1=ds_01

 

감사합니다.

(*.234.186.58)
2015.07.06 (13:34:45)
황기석

답변 감사드립니다. 


alert(ds_01) 해본 결과 다음과 같이 나오더군요 


CONTENT1:URL:NORMALTYPE:NORMALKEY

"ta_content1" 


textarea 앞에 내용을 입력하고 저장 버튼을 누르면 내용이 없어지면서 


transaction.jsp에서 

CONTENT1_size로 사이즈를 체크해 보면 1byte로 나오네요.. 


WEB-INF\tmp에 생성되는 파일을 체크해 봐도 1byte로 파일만 생성이 되어 있구요.. 

저장을 하기 전에 다른 작업이나 설정을 해야 되는 부분이 있는지 궁금합니다.

(*.227.22.57)
2015.07.06 (17:42:34)
황기석

저장시 서버 로직 


req = service.getGauceRequest();

req = service.getGauceResponse();


GauceDataSet cds = req.getGauceDataSet("IN_DS1"); 


if(cds != null) {

int iContent1 = cds.indexOfColumn("CONTENT1");

int iContent1_size = cds.indexOfColumn("CONTENT1_size");

int iContent1_type = cds.indexOfColumn("CONTENT1_type");


GauceDataRow[] rows = cds/getDataRows();


for(int i=0; i<rows.length;i++) {

sql = "insert query"; 


is = (InputStream) rows[i].getInputStream(iContent1);

                StringBuffer sb = new StringBufffer();

                byte[] buf = new byte[1024]; 

while(true) {

int bread = is.read(buf); 

                        if(bread == -1) break; 

                        sb.append(new String(buf)); 

}


String content1_data = sb.toString();

                StringReader sr = new StringReader(content1_data); 


stmt = con.prepareStatement(sb.toString()); 


stmt.setCharacterStream(1, sr, content1_data.length());


stmt.executeUpdate();

is.close();

}

stmt.close();

}


이런식으로 서버 소스는 코딩 하였습니다... 다른 샘플 소스들과 비교해 보아도 다른 부분을 찾지 못해 이렇게 글을 올립니다. 


내용 확인해 주시고 

아래 번호로 연락 주시면 감사하겠습니다. 


02-3429-6824 : 황기석

(*.227.22.57)
2015.07.07 (08:28:17)
shift

소스상의 이상은 확인할 수 없습니다.

 

화면에서 전달시 HTTP Analyzer와 같은 패킷 확인할 수 있는 툴에서 데이터가 정상적으로 전달되는지 확인한 후

서비스에서 전달된 URL, Size, Type 등을 로그에 남겨 데이터를 확인해야 할 것 같습니다.

 

FAQ의 샘플이 먼저 정상적으로 동작하는지 확인해보시기 바라며, 해당 소스를 기준으로 적용해보시기 바랍니다.

blob sample : http://member.shift.co.kr/index.php?search_target=title&search_keyword=blob&document_srl=230156

clob sample : http://member.shift.co.kr/index.php?search_target=title&search_keyword=clob&document_srl=230314

 

문제가 해결되지 않으시면 유지보수 담당자에게 원격지원을 받으시기 바랍니다.

 

감사합니다.

(*.234.186.58)
2015.07.15 (13:02:21)
황기석

안녕하세요. 저번에 문의 드렸던 내용들은 어느정도 해결이 된거 같은데

다른 문제가 있어서 질문을 드립니다.


CLOB 저장 시 TMP 에 저장 된 내용을 가져와서 파싱을 하게 되는데.

파싱해서 저장 시 일정 용량 이상이 될 경우


Didn't meet stated Content-Length, wrote 메세지가 나오면서 저장이 안되 현상이 발생하더군요...


이 경우 해결 방법이 있는지 궁금 합니다.

(*.227.22.57)
2015.07.17 (16:55:09)
shift

"Didn't meet stated Content-Length, wrote" 화면에서 보여 주려는 것과 실제로 전송되는 콘텐츠 길이를 확인 시켜 주기 위해 웹로직에 추가된 기능입니다.

참고 : http://dae0park.blog.me/140175583885

 

servlet code에서 아래 code를 추가해 보시기를 권장합니다.

response.setContentLength(0);

............................

............................

response.flushBuffer();

return;

(*.234.186.71)
번호 제목 닉네임 조회 등록일
7389 no image CLOB 데이터 처리에 관한 질문입니다. [1]
매표
5318 2015-08-28
7388 no image 호환성 관련 문의 드립니다. [1]
speedup
5569 2015-08-20
7387 no image 그럼 보안모듈 구매안하면 패킷암호화는 어떻게하나요 [1]
ESP
5123 2015-08-19
7386 no image 패킷암호화 하려는데 보안모듈 어떻게구하나요 [1]
ESP
4496 2015-08-19
7385 no image TreeView.EnableCheckBoxes 질문 [1]
카레이서곰
6358 2015-08-13
7384 no image 전자정부프레임워크 적용시 InnoXyncView.java에서 오류 파일 [5]
jang218
5832 2015-08-05
7383 CloseFrame() 이벤트 문의 파일 [1]
노시진
5081 2015-08-04
7382 no image window8 , explorer11 환경에서 파일 업로드 불가 [1]
c1138
4459 2015-07-30
7381 no image 그리드 헤더 관련 질문 입니다. [1]
웰컴
4862 2015-07-29
7380 GridToOffice 한글깨짐 관련 문의 드립니다 파일 [1]
증기기관차
5079 2015-07-10
7379 no image GridToExcel 사용 시 오류 관련 문의 드립니다. [1]
증기기관차
4929 2015-07-10
7378 no image request 캐스팅 문제 [1]
타이판
4981 2015-07-08
7377 no image 엑셀 다운로드시 내용이 보이지 않습니다. [1]
메론맛우유
5121 2015-07-06
Selected no image CLOB 데이터 저장 관련 질문 [6]
황기석
5995 2015-07-02
게시판을 이용해 주셔서 감사합니다. 다음양식에 맞게 입력해주세요. **필수입력사항** * 고객(업체)명 : 한국 서부발전 * 제품 버전 : gauce 4.0 * 문의 유형(질문/요청/참조) : clob 데이터 처리 및 저장 * 내용 : clob 데이터 저장관련 해서 질문을 드릴려고 합니다. 소스 : 저장 버튼 클릭 시 호출 스크립트 function on_save() { ta_content1.Enable = truel; ta_content2.Enable = true2; ta_content3.Enable = true3; ta_content4.Enable = true4; ta_content5.Enable = true5; ds_01.NameValue(ds_01.RowPosition, "CONTENT1") = "ta_content1" tr_01.ExtProp("UseActionBlank") = "T"; tr_01.Post(); } tr 오브젝트 선언 <object id=tr_01 classid=""> <param name="ServerIP value=""> <param name="Action" value="transaction.jsp"> <param name="KeyName" value="toinb_dataid4"> <param name="KeyValue" value="JSP(I::IN_DS1=ds_01)"> </object> textarea 오브젝트 선언 <object classid="" id="ta_content1" width="100%" height="100> <param name=CacheLoad value=true> <param name=Enable value=true> <param name=ApplyRTF value=true> </object> bind 오브젝트 선언 <object id="bd_01" classid=""> <param name=DataID value=ds_01> <param nameBindInfo value=' <C>Col="CONTENT1" Ctrl="ta_content1" Param=Src</C> ' </object> 이렇게 코딩을 하고 저장을 할려고 하니 CLOB 데이터가 1byte로 생성이 되면서 글 내용을 사라지는 현황이 발생을 합니다. 어디서 잘못 된건인지 알고 싶은데... CLOB 관련된 모든 소스를 확인해 봐도 정확한 원인을 알 수가 없네요.. 혹시 다른 부분에 설정을 해야 하는 부분이 있는 것인지.. 궁금 합니다. 답변 기다리겠습니다.
7375 potential.dll 관련 오류입니다. 파일 [1]
리오넬미실
4702 2015-07-01
7374 no image [문의] csv 파일 db에 업로드하는 기능 관련 문의 [1]
임주이
4377 2015-06-29
7373 no image 가우스 서버 라이선스 재발급 요청 [1]
김태진
4390 2015-06-29
7372 산술 계산 문의 파일 [1]
박태호
4278 2015-06-29
7371 no image 가우스 서버 4.0이 설치상의 OS와 다른 OS에 설치되었습니다. [1]
딩동링
6959 2015-06-25
7370 no image Gauce 라이센스 관련 문의 [1]
임선재
5919 2015-06-25
게시판을 이용해 주셔서 감사합니다. 다음양식에 맞게 입력해주세요. **필수입력사항** * 고객(업체)명 : 삼성 SDS * 제품 버전 : 3.5 * 문의 유형(질문/요청/참조) : 라이센스 관련 * 내용 : 안녕하세요 현재 사용하는 WAS 서버의 인스턴스를 다른 서버로 횡전개 하여 진행하였는데요.. (횡전개 대상 서버는 다른 인스턴스에서 이미 Gauce 사용중) 무슨 이유인지는 모르겟으나 신규 인스턴스를 올린후 화면을 확인한 결과, 개인 PC 테스트 진행시 참조해야할 license 경로를 바라보고 있습니다. C:\GAUCE3_HOME\/license/license.conf 해당 경로를 참조하는 파일을 찾아보았으나 파일을 찾기가 힘드네요.. 어떤 파일에 라이센스를 바라보는 경로가 정의되어 있는지 확인 요청 드립니다. 추가적으로 jar 형태로 등록되어 있는 가능성도 잇는지요?? java.lang.RuntimeException: Can not fetch OutputStream from HttpServletResponse! java.io.FileNotFoundException: C:\GAUCE3_HOME\/license/license.conf (No such file or directory) at com.gauce.ServiceLoader.<init>(ServiceLoader) at com.samsung.common.filters.GauceFilter.doFilter(GauceFilter.java:52) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Tag List
XE Login