[seasar-dotnet:1715] Re: [dbflute Procedure Generation Error]
kubo
[E-MAIL ADDRESS DELETED]
2010年 6月 10日 (木) 17:36:53 JST
Hello, thomas さん。
Thank you for your trying in Java environment.
Please use DBFlute-0.9.7.1-06-SNAPSHOT
http://dbflute.sandbox.seasar.org/ja/environment/newest.html#snapshot
(You can also download from EMecha's snapshot-download)
And you can get more detail messages which contain
the error-target procedure about the exception.
Show me the messages and the procedure parameter definition.
Because the exception is NOT occurred at my environment,
so I cannot research the exception now.
dbflute-sqlserver-example (it works well)
https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-sqlserver-example/dbflute_exampledb/playsql/replace-schema-50-procedure.sql
Parameter-beans of these procedures
are generated in my environement.
-- #df:begin#
create procedure dbo.SP_VARIOUS_TYPE_PARAMETER
@v_in_varchar varchar(10)
, @v_out_nvarchar nvarchar(10) output
, @v_out_char char(3) output
, @v_in_text text
, @v_out_text text output
, @vv_in_numeric_integer numeric(5, 0)
, @vv_in_numeric_bigint numeric(12, 0)
, @vv_in_numeric_decimal numeric(5, 3)
, @vv_inout_integer integer output
, @vv_out_bigint bigint output
, @vvv_in_datetime datetime
, @vvv_out_datetime datetime output
, @vvvv_in_uniqueidentifier uniqueidentifier
as
set @v_out_nvarchar = @v_in_varchar
set @v_out_char = 'qux'
set @v_out_text = @v_in_text
set @vv_out_bigint = @vv_inout_integer
set @vv_inout_integer = 6789
set @vvv_out_datetime = getdate()
-- #df:end#
-- #df:begin#
create procedure dbo.SP_RESULT_SET_PARAMETER
@v_cursor cursor varying output
as
set @v_cursor = cursor for
select * from MEMBER;
open @v_cursor
-- #df:end#
Thanks
jflute
2010/6/10 thomas <[E-MAIL ADDRESS DELETED]>:
> Hello jflute さん。
>
> I tried in java environment also.i am gettting same exception when i run the
> sql2entity command
>
>
> 2010-06-10 16:33:00,968 [main] INFO (DfAntTaskUtil#getBuildProperties():79)
> - ...Using contextProperties: build.properties
> 2010-06-10 16:33:01,015 [main] INFO
> (DfAntTaskUtil#getBuildProperties():122) - [Build-Properties]: size=7
> 2010-06-10 16:33:01,015 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.packageBase =
> testsqlserver.dbflute
> 2010-06-10 16:33:01,015 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.database = mssql
> 2010-06-10 16:33:01,015 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.s2daoVersion = 1.0.51
> 2010-06-10 16:33:01,015 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.targetLanguage = java
> 2010-06-10 16:33:01,031 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.project = tetsqlserver
> 2010-06-10 16:33:01,031 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.jdbcToJavaNativeMap =
> map:{TINYINT=java.lang.Integer;SMALLINT=java.lang.Integer;INTEGER=java.lang.Integer;BIGINT=java.lang.Long}
> 2010-06-10 16:33:01,031 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.targetContainer = seasar
> 2010-06-10 16:33:01,031 [main] INFO
> (DfAntTaskUtil#getBuildProperties():126) -
> 2010-06-10 16:33:01,234 [main] INFO (DfSimpleDataSourceCreator#create():73)
> - ...Creating data source:
> 2010-06-10 16:33:01,234 [main] INFO (DfSimpleDataSourceCreator#create():74)
> - driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
> 2010-06-10 16:33:01,234 [main] INFO (DfSimpleDataSourceCreator#create():75)
> - url = jdbc:sqlserver://AGTNB15;DatabaseName=PMSDBPHASE2
> 2010-06-10 16:33:01,234 [main] INFO (DfSimpleDataSourceCreator#create():76)
> - user = sa
> 2010-06-10 16:33:06,062 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():175) -
> 2010-06-10 16:33:06,062 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():176) - * * * * * * * * *
> 2010-06-10 16:33:06,062 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():177) - * Process Java *
> 2010-06-10 16:33:06,062 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():178) - * * * * * * * * *
> 2010-06-10 16:33:06,062 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():180) - ...Using Java control:
> om/ControlSql2EntityJava.vm
> 2010-06-10 16:33:06,187 [main] INFO (DTDResolver#resolveEntity():124) -
> Resolver: used database.dtd from
> 'org.apache.torque.engine.database.transform' package
> 2010-06-10 16:33:07,703 [main] INFO (DfSqlFileFireMan#execute():64) - {SQL
> File}: ..\src\main\resources\data\demo.sql
> 2010-06-10 16:33:07,765 [main] INFO (DfSql2EntityTask$1#traceResult():490)
> - --> SQL for sql2entity was Not Found in the SQL file!
> 2010-06-10 16:33:07,765 [main] INFO (DfSqlFileFireMan#execute():80) -
> {Fired SQL}: success=0 failure=0 (in 1 files)
> 2010-06-10 16:33:08,328 [main] INFO
> (DfAbstractTexenTask#fireVelocityProcess():359) -
> generator.parse("om/ControlSql2EntityJava.vm", c);
> 2010-06-10 16:33:08,656 [main] INFO
> (Database#enableSql2EntityOutputDirectory():640) - ...Setting up
> sql2EntityOutputDirectory: ../src/main/java
> 2010-06-10 16:33:08,687 [main] INFO (DfOldClassHandler#info():557) -
> 2010-06-10 16:33:08,687 [main] INFO (DfOldClassHandler#info():557) - // /-
> - - - - - - - - - - - - - -
> 2010-06-10 16:33:08,703 [main] INFO (DfOldClassHandler#info():557) - //
> Delete old customize classes!
> 2010-06-10 16:33:08,703 [main] INFO (DfOldClassHandler#info():557) - // - -
> - - - - - - - -/
> 2010-06-10 16:33:08,734 [main] INFO (DfOldClassHandler#info():557) -
> 2010-06-10 16:33:08,734 [main] DEBUG (Database#debug():1885) - public void
> parseCustomizeEntity() {
> 2010-06-10 16:33:08,734 [main] DEBUG (Database#debug():1885) - final
> List<String> tableNameList = getTableList();
> 2010-06-10 16:33:08,750 [main] DEBUG (Database#debug():1885) - for
> (String tableName : tableNameList) {
> 2010-06-10 16:33:08,750 [main] DEBUG (Database#debug():1885) - }
> 2010-06-10 16:33:08,750 [main] DEBUG (Database#debug():1885) - }
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():687) - /- - - - - - - -
> - - - - - - - - - - - - - - - -
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():688) - Target SQL files:
> 1
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():689) -
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():691) - demo.sql
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():693) - - - - - - - - - -
> -/
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showTargetSqlFileInformation():694) -
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showSkippedFileInformation():720) - /- - - - - - - - -
> - - - - - - - - - - - - - - -
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showSkippedFileInformation():721) - No class file has
> been parsed.
> 2010-06-10 16:33:09,062 [main] INFO
> (DfAbstractTexenTask#showSkippedFileInformation():722) - - - - - - - - - -
> -/
> 2010-06-10 16:33:09,078 [main] INFO
> (DfAbstractTexenTask#showSkippedFileInformation():723) -
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():535) - /* * * * * * * * * * * * * *
> * * * * * * * * * * * * * * * * * * *
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():536) - SQL for sql2entity was not
> found!
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():537) -
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():538) - SQL Files: 1
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():542) - 1 --
> ..\src\main\resources\data\demo.sql
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():544) - * * * * * * * * * */
> 2010-06-10 16:33:09,078 [main] WARN
> (DfSql2EntityTask#handleNotFoundResult():545) -
> 2010-06-10 16:33:09,078 [main] INFO (DfSimpleDataSourceCreator#commit():88)
> - ...commit()
> 2010-06-10 16:33:09,093 [main] INFO
> (DfSimpleDataSourceCreator#destroy():112) - ...rollback()
> 2010-06-10 16:33:09,093 [main] INFO
> (DfSimpleDataSourceCreator#destroy():116) - ...closeReally()
> 2010-06-10 16:33:09,093 [main] INFO
> (DfAbstractTexenTask#showFinalMessage():215) -
>
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> [Task End]: 00m08s031ms
>
> DBFLUTE_CLIENT: {tetsqlserver}
> database = mssql
> language = java
> container = seasar
> package = testsqlserver.dbflute
>
> DBFLUTE_ENVIRONMENT_TYPE: {df:default}
> driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
> url = jdbc:sqlserver://AGTNB15;DatabaseName=PMSDBPHASE2
> schema = {PMSDBPHASE2.dbo as main}
> user = sa
> props = {}
> additionalSchema =
> dataLoadingType = ut
> refreshProject =
> _/_/_/_/_/_/_/_/_/_/ {Sql2Entity}
> 2010-06-10 16:34:20,625 [main] INFO (DfAntTaskUtil#getBuildProperties():79)
> - ...Using contextProperties: build.properties
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():122) - [Build-Properties]: size=7
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.packageBase =
> testsqlserver.dbflute
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.database = mssql
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.s2daoVersion = 1.0.51
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.targetLanguage = java
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.project = tetsqlserver
> 2010-06-10 16:34:20,640 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.jdbcToJavaNativeMap =
> map:{TINYINT=java.lang.Integer;SMALLINT=java.lang.Integer;INTEGER=java.lang.Integer;BIGINT=java.lang.Long}
> 2010-06-10 16:34:20,671 [main] INFO
> (DfAntTaskUtil#getBuildProperties():124) - torque.targetContainer = seasar
> 2010-06-10 16:34:20,671 [main] INFO
> (DfAntTaskUtil#getBuildProperties():126) -
> 2010-06-10 16:34:20,750 [main] INFO (DfSimpleDataSourceCreator#create():73)
> - ...Creating data source:
> 2010-06-10 16:34:20,750 [main] INFO (DfSimpleDataSourceCreator#create():74)
> - driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
> 2010-06-10 16:34:20,750 [main] INFO (DfSimpleDataSourceCreator#create():75)
> - url = jdbc:sqlserver://AGTNB15;DatabaseName=PMSDBPHASE2
> 2010-06-10 16:34:20,750 [main] INFO (DfSimpleDataSourceCreator#create():76)
> - user = sa
> 2010-06-10 16:34:21,375 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():175) -
> 2010-06-10 16:34:21,375 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():176) - * * * * * * * * *
> 2010-06-10 16:34:21,375 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():177) - * Process Java *
> 2010-06-10 16:34:21,375 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():178) - * * * * * * * * *
> 2010-06-10 16:34:21,375 [main] INFO
> (DfSql2EntityTask#setupControlTemplate():180) - ...Using Java control:
> om/ControlSql2EntityJava.vm
> 2010-06-10 16:34:21,406 [main] INFO (DTDResolver#resolveEntity():124) -
> Resolver: used database.dtd from
> 'org.apache.torque.engine.database.transform' package
> 2010-06-10 16:34:22,109 [main] INFO (DfSqlFileFireMan#execute():64) - {SQL
> File}: ..\src\main\resources\data\demo.sql
> 2010-06-10 16:34:22,125 [main] INFO (DfSql2EntityTask$1#traceResult():490)
> - --> SQL for sql2entity was Not Found in the SQL file!
> 2010-06-10 16:34:22,125 [main] INFO (DfSqlFileFireMan#execute():80) -
> {Fired SQL}: success=0 failure=0 (in 1 files)
> 2010-06-10 16:34:22,125 [main] INFO
> (DfSql2EntityTask#doSetupProcedure():639) -
> 2010-06-10 16:34:22,125 [main] INFO
> (DfSql2EntityTask#doSetupProcedure():640) - ...Setting up procedures for
> generating parameter-beans
> 2010-06-10 16:34:24,390 [main] ERROR (DfAntTaskUtil#logException():155) -
> Look! Read the message below.
> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> Failed to execute DBFlute Task 'Sql2Entity'!
>
> [Exception]
> exception class = class java.lang.NumberFormatException
> * * * * * * * * * */
> java.lang.NumberFormatException: null
> at java.lang.Integer.parseInt(Integer.java:415)
> at java.lang.Integer.parseInt(Integer.java:497)
> at
> com.microsoft.sqlserver.jdbc.IntColumnFilter.apply(SQLServerDatabaseMetaData.java:2016)
> at com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:114)
> at
> com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1820)
> at
> com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1805)
> at
> com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(SQLServerResultSet.java:2123)
> at
> org.seasar.dbflute.logic.jdbc.handler.DfProcedureHandler.setupProcedureColumnMetaInfo(DfProcedureHandler.java:456)
> at
> org.seasar.dbflute.logic.jdbc.handler.DfProcedureHandler.getPlainProcedureList(DfProcedureHandler.java:335)
> at
> org.seasar.dbflute.logic.jdbc.handler.DfProcedureHandler.getAvailableProcedureMap(DfProcedureHandler.java:97)
> at
> org.seasar.dbflute.logic.jdbc.handler.DfProcedureHandler.getAvailableProcedureList(DfProcedureHandler.java:77)
> at
> org.seasar.dbflute.task.DfSql2EntityTask.getAvailableProcedureList(DfSql2EntityTask.java:723)
> at
> org.seasar.dbflute.task.DfSql2EntityTask.doSetupProcedure(DfSql2EntityTask.java:641)
> at
> org.seasar.dbflute.task.DfSql2EntityTask.setupProcedure(DfSql2EntityTask.java:618)
> at
> org.seasar.dbflute.task.DfSql2EntityTask.doExecute(DfSql2EntityTask.java:134)
> at
> org.seasar.dbflute.task.bs.DfAbstractTexenTask.execute(DfAbstractTexenTask.java:114)
> at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
> at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
> at org.apache.tools.ant.Task.perform(Task.java:348)
> at org.apache.tools.ant.Target.execute(Target.java:357)
> at org.apache.tools.ant.Target.performTasks(Target.java:385)
> at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
> at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
> at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
> at org.apache.tools.ant.Project.executeTargets(Project.java:1181)
> at org.apache.tools.ant.Main.runBuild(Main.java:698)
> at org.apache.tools.ant.Main.startAnt(Main.java:199)
> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> 2010-06-10 16:34:24,468 [main] INFO (DfSimpleDataSourceCreator#commit():88)
> - ...commit()
> 2010-06-10 16:34:24,468 [main] INFO
> (DfSimpleDataSourceCreator#destroy():112) - ...rollback()
> 2010-06-10 16:34:24,468 [main] INFO
> (DfSimpleDataSourceCreator#destroy():116) - ...closeReally()
> 2010-06-10 16:34:24,484 [main] INFO
> (DfAbstractTexenTask#showFinalMessage():215) -
>
> _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
> [Task End]: 00m03s781ms *Abort
>
> DBFLUTE_CLIENT: {tetsqlserver}
> database = mssql
> language = java
> container = seasar
> package = testsqlserver.dbflute
>
> DBFLUTE_ENVIRONMENT_TYPE: {df:default}
> driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
> url = jdbc:sqlserver://AGTNB15;DatabaseName=PMSDBPHASE2
> schema = {PMSDBPHASE2.dbo as main}
> user = sa
> props = {}
> additionalSchema =
> dataLoadingType = ut
> refreshProject =
> _/_/_/_/_/_/_/_/_/_/ {Sql2Entity}
>
>
>>>Tell me what kind of JDBC driver you use
> i am using sqljdbc4.jar driver
>
>
> Thanks,
> Thomas.
>
>
>
>
> 2010/6/10 kubo <[E-MAIL ADDRESS DELETED]>
>>
>> Hello,
>>
>> You cannot call your procedure that returns result set
>> through DBFlute.NET.
>>
>> // the handler of procedure on DBFlute.NET
>> // (if data reader, throws NotImplementedException)
>>
>> https://www.seasar.org/svn/sandbox/dbflute.net/trunk/dfnet-basic-example/source/DfExample/DBFlute/AllCommon/S2Dao/internal/SqlHandler/InternalProcedureHandler.cs
>>
>> Sorry it's the very one of difference from DBFlute for Java.
>>
>> > Is there any other way to call my stored procedures?
>> You can call it through ADO.NET.
>> Get an instance of IDataSource from Quill container
>> that is same as the data source DBFlute.NET uses,
>> and you can use ADO.NET directly.
>>
>> Thanks
>> jflute
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
seasar-dotnet メーリングリストの案内