You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Gregor Cremosnik <GC...@ch.ibm.com> on 2008/08/08 10:55:33 UTC
SQL DESCRIBE command with iBatis
Hi,
I have tried to execute an SQL DESCRIBE command to get the table definition
with iBatis. But I get always an error.
Command in the XML file:
<resultMap id="DESCRIBE_RESULT" class="as4k.Describe">
<>result property="sqlLen" column="sqllen"/>
<result property="sqlType" column="sqltype"/>
<result property="sqlNameData" column="sqlname.data"/>
<result property="sqlNameLength" column="sqlname.length"/>
</>resultMap>
<statement id="describeTable" resultMap="DESCRIBE_RESULT">
DESCRIBE OUTPUT SELECT * FROM FC017713.IUMOREP
</statement>
StackTrace:
Exception in thread "main" java.lang.RuntimeException: Something bad
happened while building the
sqlStatement.com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in as4k/IWABREP.xml.
--- The error occurred while applying a parameter map.
--- Check the describeTable-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:42)
at as4k.DynamicSql.main(DynamicSql.java:27)
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in as4k/IWABREP.xml.
--- The error occurred while applying a parameter map.
--- Check the describeTable-InlineParameterMap.
--- Check the statement (query failed).
--- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
(
GeneralStatement.java:185)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList
(
GeneralStatement.java:123)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
SqlMapExecutorDelegate.java:615)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
SqlMapExecutorDelegate.java:589)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
SqlMapSessionImpl.java:118)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
SqlMapSessionImpl.java:122)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(
SqlMapClientImpl.java:99)
at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:39)
... 1 more
Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
at com.ibm.db2.jcc.b.gb.g(gb.java:140.)
at com.ibm.db2.jcc.b.gb.a(gb.java:39)
at com.ibm.db2.jcc.b.w.a(w.java:34).
at com.ibm.db2.jcc.b.vb.g(vb.java:139.)
at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
at com.ibm.db2.jcc.c.gg.eb(gg.java:1862)
at com.ibm.db2.jcc.c.gg.d(gg.java:2295)
at com.ibm.db2.jcc.c.gg.X(gg.java:1332)
at com.ibm.db2.jcc.c.gg.execute(gg.java:1316)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(
SqlExecutor.java:186)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery
(GeneralStatement.java:205)
at
com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
(
GeneralStatement.java:173)
... 8 more
Does anybody have an idea what I do wrong??
Tanks for your help
Gregor
IBM Global Business Services
Internet-Mail: gcr@ch.ibm.com
Postal Mail: Vulkanstrasse 106 (VK), Postfach, 8010 Zurich
Phone: +41 58 333 69 21
Fax: +41 58 333 40 40
Natel: +41 79 334 96 22
Re: SQL DESCRIBE command with iBatis
Posted by victorxiang <bb...@163.com>.
这个问题,可参考下面的文章!
《ibatis连接aix下的DB2问题-com.ibm.db2.jcc.a.bn: DB2 SQL Error: SQLCODE=-104,
SQLSTATE=42601,,解决办法【原创】 》
http://www.idosoft.com.cn/techgather/16.html
Gregor Cremosnik wrote:
>
>
> Hi,
>
> I have tried to execute an SQL DESCRIBE command to get the table
> definition
> with iBatis. But I get always an error.
>
> Command in the XML file:
>
> <resultMap id="DESCRIBE_RESULT" class="as4k.Describe">
> <>result property="sqlLen" column="sqllen"/>
> <result property="sqlType" column="sqltype"/>
> <result property="sqlNameData" column="sqlname.data"/>
> <result property="sqlNameLength" column="sqlname.length"/>
> </>resultMap>
>
> <statement id="describeTable" resultMap="DESCRIBE_RESULT">
> DESCRIBE OUTPUT SELECT * FROM FC017713.IUMOREP
> </statement>
>
>
> StackTrace:
>
> Exception in thread "main" java.lang.RuntimeException: Something bad
> happened while building the
> sqlStatement.com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in as4k/IWABREP.xml.
> --- The error occurred while applying a parameter map.
> --- Check the describeTable-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:42)
> at as4k.DynamicSql.main(DynamicSql.java:27)
> Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in as4k/IWABREP.xml.
> --- The error occurred while applying a parameter map.
> --- Check the describeTable-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (
> GeneralStatement.java:185)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList
> (
> GeneralStatement.java:123)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:615)
> at
> com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:589)
> at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:118)
> at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:122)
> at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(
> SqlMapClientImpl.java:99)
> at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:39)
> ... 1 more
> Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
> at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
> at com.ibm.db2.jcc.b.gb.g(gb.java:140.)
> at com.ibm.db2.jcc.b.gb.a(gb.java:39)
> at com.ibm.db2.jcc.b.w.a(w.java:34).
> at com.ibm.db2.jcc.b.vb.g(vb.java:139.)
> at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
> at com.ibm.db2.jcc.c.gg.eb(gg.java:1862)
> at com.ibm.db2.jcc.c.gg.d(gg.java:2295)
> at com.ibm.db2.jcc.c.gg.X(gg.java:1332)
> at com.ibm.db2.jcc.c.gg.execute(gg.java:1316)
> at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(
> SqlExecutor.java:186)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery
> (GeneralStatement.java:205)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (
> GeneralStatement.java:173)
> ... 8 more
>
> Does anybody have an idea what I do wrong??
>
> Tanks for your help
>
> Gregor
>
>
> IBM Global Business Services
>
> Internet-Mail: gcr@ch.ibm.com
> Postal Mail: Vulkanstrasse 106 (VK), Postfach, 8010 Zurich
> Phone: +41 58 333 69 21
> Fax: +41 58 333 40 40
> Natel: +41 79 334 96 22
>
>
>
--
View this message in context: http://www.nabble.com/SQL-DESCRIBE-command-with-iBatis-tp18888257p21146717.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
Re: SQL DESCRIBE command with iBatis
Posted by Jeff Butler <je...@gmail.com>.
If you look in the DB2 information center under the DESCRIBE command, you
will see this:
<quote>
This statement can be embedded only in an application program. It is an
executable statement that cannot be dynamically prepared.
</quote>
This means that you cannot run DESCRIBE with iBATIS.
If you want to get column information, use one of the DB2 catalog views:
select * from syscat.columns where tabschema='FC017713' and
tabname='IUMOREP'
Jeff Butler
On Fri, Aug 8, 2008 at 3:55 AM, Gregor Cremosnik <GC...@ch.ibm.com> wrote:
>
> Hi,
>
> I have tried to execute an SQL DESCRIBE command to get the table definition
> with iBatis. But I get always an error.
>
> Command in the XML file:
>
> <resultMap id="DESCRIBE_RESULT" class="as4k.Describe">
> <>result property="sqlLen" column="sqllen"/>
> <result property="sqlType" column="sqltype"/>
> <result property="sqlNameData" column="sqlname.data"/>
> <result property="sqlNameLength" column="sqlname.length"/>
> </>resultMap>
>
> <statement id="describeTable" resultMap="DESCRIBE_RESULT">
> DESCRIBE OUTPUT SELECT * FROM FC017713.IUMOREP
> </statement>
>
>
> StackTrace:
>
> Exception in thread "main" java.lang.RuntimeException: Something bad
> happened while building the
> sqlStatement.com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in as4k/IWABREP.xml.
> --- The error occurred while applying a parameter map.
> --- Check the describeTable-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:42)
> at as4k.DynamicSql.main(DynamicSql.java:27)
> Caused by: com.ibatis.common.jdbc.exception.NestedSQLException:
> --- The error occurred in as4k/IWABREP.xml.
> --- The error occurred while applying a parameter map.
> --- Check the describeTable-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (
> GeneralStatement.java:185)
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList
> (
> GeneralStatement.java:123)
> at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:615)
> at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(
> SqlMapExecutorDelegate.java:589)
> at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:118)
> at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(
> SqlMapSessionImpl.java:122)
> at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(
> SqlMapClientImpl.java:99)
> at as4k.DynamicSql.findAllMigrationData(DynamicSql.java:39)
> ... 1 more
> Caused by: com.ibm.db2.jcc.c.SqlException: DB2 SQL error: SQLCODE: -104,
> SQLSTATE: 42601, SQLERRMC: DESCRIBE OUTPUT; ;<space>
> at com.ibm.db2.jcc.c.fg.e(fg.java:1596)
> at com.ibm.db2.jcc.c.fg.a(fg.java:1206)
> at com.ibm.db2.jcc.b.gb.g(gb.java:140.)
> at com.ibm.db2.jcc.b.gb.a(gb.java:39)
> at com.ibm.db2.jcc.b.w.a(w.java:34).
> at com.ibm.db2.jcc.b.vb.g(vb.java:139.)
> at com.ibm.db2.jcc.c.fg.n(fg.java:1177)
> at com.ibm.db2.jcc.c.gg.eb(gg.java:1862)
> at com.ibm.db2.jcc.c.gg.d(gg.java:2295)
> at com.ibm.db2.jcc.c.gg.X(gg.java:1332)
> at com.ibm.db2.jcc.c.gg.execute(gg.java:1316)
> at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(
> SqlExecutor.java:186)
> at
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery
> (GeneralStatement.java:205)
> at
>
> com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback
> (
> GeneralStatement.java:173)
> ... 8 more
>
> Does anybody have an idea what I do wrong??
>
> Tanks for your help
>
> Gregor
>
>
> IBM Global Business Services
>
> Internet-Mail: gcr@ch.ibm.com
> Postal Mail: Vulkanstrasse 106 (VK), Postfach, 8010 Zurich
> Phone: +41 58 333 69 21
> Fax: +41 58 333 40 40
> Natel: +41 79 334 96 22
>
>