Query Manager
<config:configuration> validation 에러
Submitted by bomber on 화, 03/01/2011 - 19:53첨부와 같이 부분에서 계속 validation 에러가 나는군요.
참고로 관련 xsd를 web browser에서 직접 호출하면 접근 가능합니다.
Anyframe Plug-ins 3종 세트를 update 사이트를 통해 최신 버전으로 받은 후,
Eclipse의 Preferences의 XML Catalog에는 아래 항목들이 등록되어 있습니다.
아무래도 plugin을 통해 제공되는 xsd 파일과 key 값이 잘못 지정된 것 같습니다만 확인 바랍니다.
Entry element: Public
Location: dtds\anyframe-core-query-mapping-3.2.dtd in jar file C:\springsource\sts-2.5.2.RELEASE\plugins\anyframe.querymanager.eclipse.core_2.1.7.jar
URI: jar:file:/C:/springsource/sts-2.5.2.RELEASE/plugins/anyframe.querymanager.eclipse.core_2.1.7.jar!/dtds/anyframe-core-query-mapping-3.2.dtd
Key type: Public ID
Key: -//ANYFRAME//DTD QUERYSERVICE//EN
Entry element: URI
Location: xsds\anyframe-spring-mvc-4.5.xsd in jar file C:\springsource\sts-2.5.2.RELEASE\plugins\anyframe.common.eclipse.core_3.1.1.jar
URI: jar:file:/C:/springsource/sts-2.5.2.RELEASE/plugins/anyframe.common.eclipse.core_3.1.1.jar!/xsds/anyframe-spring-mvc-4.5.xsd
Key type: Namespace name
Key: http://www.anyframejava.org/schema/mvc
Entry element: URI
Location: xsds\anyframe-service-2.0.xsd in jar file C:\springsource\sts-2.5.2.RELEASE\plugins\anyframe.common.eclipse.core_3.1.1.jar
URI: jar:file:/C:/springsource/sts-2.5.2.RELEASE/plugins/anyframe.common.eclipse.core_3.1.1.jar!/xsds/anyframe-service-2.0.xsd
Key type: Namespace name
Key: http://www.anyframejava.org/schema/service
--------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:config="http://www.anyframejava.org/schema/service"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.anyframejava.org/schema/service
http://www.anyframejava.org/schema/service/anyframe-core-service-2.0.xsd">
<bean id="oracleQueryService"
class="anyframe.core.query.impl.QueryServiceImpl">
<property name="jdbcTemplate">
<ref bean="oraclePagingJdbcTemplate"/>
</property>
<property name="sqlRepository">
<ref bean="oracleSqlLoader"/>
</property>
<property name="lobHandler">
<ref bean="oracleLobHandler"/>
</property>
<property name="pagingSQLGenerator"
ref="oraclePagingSQLGenerator"/>
</bean>
<bean id="oraclePagingJdbcTemplate"
class="anyframe.core.query.impl.jdbc.PagingJdbcTemplate">
<constructor-arg ref="oracleDataSource"/>
</bean>
<bean id="oraclePagingSQLGenerator"
class="anyframe.core.query.impl.jdbc.generator.OraclePagingSQLGenerator"/>
<bean id="oracleSqlLoader"
class="anyframe.core.query.impl.config.loader.SQLLoader">
<config:configuration>
<filename>classpath*:queries/oracle/**/mapping-*.xml</filename>
<nullcheck type="VARCHAR" default-value=""/>
</config:configuration>
</bean>
</beans>
QueryService를 사용해서 결과값을 LinkedCaseInsensitiveMap에 담도록 처리를 했는데요...이상한 현상이 발생합니다.
Submitted by mcm27xx on 월, 02/21/2011 - 20:31안녕하세요? 화성사업장에서 프로젝트를 하고 있는 심락중이라고 합니다.
QueryService를 사용해서 result Class를 지정하지 않으면 LinkedCaseInsensitiveMap 형태의 리스트로 담기는 걸로 알고 있습니다.
SELECT ROWNUM RNUM, $vo.columnList
FROM (
/* start. */
select nvl(opp_no,'') opp_no, nvl(sales_code,'') sales_code, nvl
~~~
이런식으로 쿼리르 작성했습니다. 읽어오는 컬럼은 동적으로 읽어오는 업무인데요...
예를 들어 jsp 화면에서 opp_no, salesCode, 뭐 이런 폼객체를 체크하고 조회화면 $vo.columnList 값에 'opp_no, salesCode, ' 이런 값이 들어가서 조회가 되는 화면입니다.
그런데 처음에 opp_no, salesCode를 체크하고 조회하면 잘 조회가 되는데, 두번째로 다른 두 컬럼 예를 들어 area, partner_code를 체크하고 조회하면 이전에 조회했던 opp_no, salesCode 명칭으로 데이터가 맵형태로 저장이 됩니다. 이해가 되실런지 모르겠네요..
쉽게 얘기해서 처음 쿼리를 실행시키면 hm.put("opp_no") = "1233", hm.put("salesCode") = "abc" 이런게 잘 담기고 두번째 다른 컬럼을 선택하고 실행을 시키면 hm.put("area") = "KO", hm.put("partner_code") = "5678" 이렇게 맵에 담겨야 되는데 hm.put("opp_no") = "KO", hm.put("partner_code") = "abc" 이렇게 맵에 담기는 현상입니다. Debugger로 확인해보니 그렇습니다.
왜 이런 현상이 발생하는지 알수가 없네요. 원래 버그가 있는건지 제가 잘못한건지 정확한 이유를 모르겠습니다. 혹시 이런 사례가 있거나 원인을 아시면 메일 부탁드립니다.
e-mail : mcm27xx@naver.com
프로시저 호출 방법 문의
Submitted by jh3617.kim on 금, 01/21/2011 - 16:19현재 MiplatForm - AnyFrame - WebLogic 환경에서 시스템을 개발하고 있습니다.
기존에 일반 SELECT 쿼리를 호출하여 수행하던 작업을
SQL DB 서버 내의 저장 프로시저를 이용하여, 같은 결과 집합을 넘겨 받으려고 하는데..
다음과 같은 에러가 발생했습니다.
2. PreparedStatement.executeQuery() exec FT_SELECT_STATISTICS '27920,27921', '22
307'
com.microsoft.sqlserver.jdbc.SQLServerException: 문에서 결과 집합을 반환하지 않
았습니다.
애니프레임 상에서 프로시저 호출을 통해 결과를 리턴받아 Miplatform에 DataSet형태로 전달해 줄수 있는 방법을 알려주세요..
유니코드 입력시 에러
Submitted by jihwan1021 on 월, 01/10/2011 - 16:47DB값을 insert할대 유니코드로 데이터를 입력하는 부분이 있는데요..
보통 문자열 앞에 N 을 붙여서 넣는데...
query.xml에서
N:vo.defectReason, 이런식으로 입력을 하면 에러가 납니다.
반면 변수에서 받지 않고 그냥 쿼리에서 N'가나다라마바사', 이렇게 하면 데이터가 들어가고요..
queryManager 에서 유니코드로 DB에 입력하는 방법을 알고 싶습니다.
:vo 값이 너무 많을때 실행시 오류나는 문제
Submitted by suna7027 on 수, 11/24/2010 - 14:55안녕하세요~
업데이트나 insert 할때 사이즈가 크면 오류가 나는 문제에 대해 문의드릴려고 합니다.
아래와 같이 :vo 로 값을 넣을때 만약 값이 너무 크면 오류가 납니다.값 하나가 사이즈가 4000정도 되면 괜찮은데
만약 4000짜리 필드가 여러개일때는 오류가 납니다.
좋은 해결방법이 없을까요?
INSERT INTO TBL_EXT_CATEGORY
(CATEGORY_NO,CATEGORY_NAME,CATEGORY_DESC,USE_YN,REG_ID,
REG_DATE,MODIFY_ID,MODIFY_DATE)
VALUSE(:vo.categoryNo, :vo,categoryName, :vo.categoryDesc,
:vo.useYn, :vo.regld,sysdate, :vo.regld,sysdate)

