[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 メーリングリストの案内