There is no statement named "OOO" in this SqlMap 오류
- 작성자 :
- 항
- 작성일 :
- 2015-08-03 16:03:18
- 조회수 :
- 1,192
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요 수고가 많으십니다.
There is no statement named "OOO" in this SqlMap 오류가 납니다.
기본적으로 구글이나 이 게시판에 이 에러관련글은 모두 찾아보았으나. 찾을수가 없어 도움을 요청드립니다.
로그를 찍어보면 CONTROLLER -> IMPL -> DAO 단까지는 로그가 잘찍힙니다. 그런데 그 이후 _sql.xml 파일을 찾을수가 없다나옵니다.
최종적으로 호출하는 sql이 해당 db의 프로시져입니다만. 거기까지 가지도 못합니다...
해당설정은 아래와 같으며, 로그는 파일로 첨부하였습니다
1. sql-map-config-wm_handex.xml
<sqlMapConfig>
<typeAlias alias="egovMap"
type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<typeAlias alias="nvarcharTypeHandler" type="com.si.sierp.util.NvarcharTypeHandler" />
<sqlMap resource="egovframework/sqlmap/sql/wm_handex/WMHANDEX_SQL.xml" />
</sqlMapConfig>
2. context-datasource.xml
<bean id="handexDataSource-local" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.handex.DriverClassName}"/>
<property name="url" value="${Globals.handex.Url}" />
<property name="username" value="${Globals.handex.UserName}"/>
<property name="password" value="${Globals.handex.Password}"/>
</bean>
3.globals.properties
Globals.run.type=local
Globals.handex.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.handex.Url=jdbc:log4jdbc:oracle:thin:@203.251.151.106:1521:SINTER
Globals.handex.UserName=OOOO
Globals.handex.Password=OOOO
4. WMHANDEXDAO.java
package com.si.sierp.wm.wm_handex.service.impl;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.sdf.framework.base.dao.SDFAbstractDAO;
@Repository("wm.wm_handex.WMHANDEXDAO")
public class WMHANDEXDAO extends SDFAbstractDAO {
@SuppressWarnings({"rawtypes"})
public void insertTrpaNoPro(Map dto) throws Exception{
System.out.println("in-insertTrpaNoPro"+dto.toString());
insert("WMHANDEXDAO.insertTrpaNoProTT",dto);
System.out.println("out-insertTrpaNoPro"+dto.toString());
}
5. WMHANDEX_SQL.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="WMHANDEXDAO">
<procedure id="WMHANDEXDAO.insertTrpaNoProTT" resultClass="HashMap" parameterClass="map">
<![CDATA[
{
call PRC_SI_INV_EDI(
#COMP_CD,mode=IN#,
#OUT_NSG,mode=OUT,jdbcType=VARCHAR#
)
}
]]>
</procedure>
</sqlMap>
There is no statement named "OOO" in this SqlMap 오류가 납니다.
기본적으로 구글이나 이 게시판에 이 에러관련글은 모두 찾아보았으나. 찾을수가 없어 도움을 요청드립니다.
로그를 찍어보면 CONTROLLER -> IMPL -> DAO 단까지는 로그가 잘찍힙니다. 그런데 그 이후 _sql.xml 파일을 찾을수가 없다나옵니다.
최종적으로 호출하는 sql이 해당 db의 프로시져입니다만. 거기까지 가지도 못합니다...
해당설정은 아래와 같으며, 로그는 파일로 첨부하였습니다
1. sql-map-config-wm_handex.xml
<sqlMapConfig>
<typeAlias alias="egovMap"
type="egovframework.rte.psl.dataaccess.util.EgovMap" />
<typeAlias alias="nvarcharTypeHandler" type="com.si.sierp.util.NvarcharTypeHandler" />
<sqlMap resource="egovframework/sqlmap/sql/wm_handex/WMHANDEX_SQL.xml" />
</sqlMapConfig>
2. context-datasource.xml
<bean id="handexDataSource-local" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.handex.DriverClassName}"/>
<property name="url" value="${Globals.handex.Url}" />
<property name="username" value="${Globals.handex.UserName}"/>
<property name="password" value="${Globals.handex.Password}"/>
</bean>
3.globals.properties
Globals.run.type=local
Globals.handex.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.handex.Url=jdbc:log4jdbc:oracle:thin:@203.251.151.106:1521:SINTER
Globals.handex.UserName=OOOO
Globals.handex.Password=OOOO
4. WMHANDEXDAO.java
package com.si.sierp.wm.wm_handex.service.impl;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.sdf.framework.base.dao.SDFAbstractDAO;
@Repository("wm.wm_handex.WMHANDEXDAO")
public class WMHANDEXDAO extends SDFAbstractDAO {
@SuppressWarnings({"rawtypes"})
public void insertTrpaNoPro(Map dto) throws Exception{
System.out.println("in-insertTrpaNoPro"+dto.toString());
insert("WMHANDEXDAO.insertTrpaNoProTT",dto);
System.out.println("out-insertTrpaNoPro"+dto.toString());
}
5. WMHANDEX_SQL.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="WMHANDEXDAO">
<procedure id="WMHANDEXDAO.insertTrpaNoProTT" resultClass="HashMap" parameterClass="map">
<![CDATA[
{
call PRC_SI_INV_EDI(
#COMP_CD,mode=IN#,
#OUT_NSG,mode=OUT,jdbcType=VARCHAR#
)
}
]]>
</procedure>
</sqlMap>
A
안녕하십니까?
표준프레임워크센터입니다.
올려주신 파일 중 context-sqlMap.xml 파일은 없는 것 같습니다.
아마 별도의 수정을 하지 않으신 모양인데요.
해당 파일을 열어보시면, sqlmap config파일의 경로를 하단에 지정하는데, 이때 Globals.DbType을 참조하게 되어있습니다.
예를들어서, DbType을 oracle로 세팅하셨으면, sqlmap config파일은 oracle경로를 체크하여 sqlmap config파일을 읽어들입니다.
이부분의 설정상 누락이 되어서, sqlmap을 인식하지 못하는 것 같습니다.
참고하시어, 확인해보시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
올려주신 파일 중 context-sqlMap.xml 파일은 없는 것 같습니다.
아마 별도의 수정을 하지 않으신 모양인데요.
해당 파일을 열어보시면, sqlmap config파일의 경로를 하단에 지정하는데, 이때 Globals.DbType을 참조하게 되어있습니다.
예를들어서, DbType을 oracle로 세팅하셨으면, sqlmap config파일은 oracle경로를 체크하여 sqlmap config파일을 읽어들입니다.
이부분의 설정상 누락이 되어서, sqlmap을 인식하지 못하는 것 같습니다.
참고하시어, 확인해보시기 바랍니다.
감사합니다.