[seasar-dotnet:1076] Re: S2Dao.NET、DBFlute - Oracleのパッケージ対応について

kubo [E-MAIL ADDRESS DELETED]
2008年 10月 23日 (木) 19:02:36 JST


久保(jflute)です。

森脇さん、
すいませんエラーはちょっと後で見させて頂きます。
(S2Dao.NETのプロシージャ作者の投稿を待つしか.....)

ちょっと仕様の相談です。

ご教授頂いた方法でプロシージャのパッケージを取得するようにしました。
メタ情報からパッケージ名が取得できたら、
SQL上のプロシージャ名を「パッケージ名.プロシージャ名」に
した方がよいでしょうか?(Java/C#両方)
(よくわからないならわからないでOKです)

#
# Oracle限定にするかは要検討。。。
#

2008/10/23 k. moriwaki <[E-MAIL ADDRESS DELETED]>:
> 森脇です
>
>> もし「パッケージ名.プロシージャ名」で呼び出せるのであれば、
>> DBFluteがSql2Entityで自動生成するProcedurePmbを参考に
>> 手動でPmbを作って、ProcedureNameにパッケージ名を付与すれば
>> 実行はできるかもしれません。(未検証)
> これは試して見たんですが例外が発生しました。
> で、そもそもS2Dao.NETが対応していない為発生しているのではと思って
> メールした次第です。
>
>
> 以下ログです。
>
> Message: Look! Read the message below.
> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
> The SQL failed to execute!
>
> [Advice]
> Please confirm the Exception message.
>
> [Exception]
> Seasar.Framework.Exceptions.SQLRuntimeException
> [ESSR0071]SQLで例外が発生しました。理由はOracle.DataAccess.Client.OracleException
> ORA-06550: 行1、列15:
> PLS-00306: 'NAME'の呼出しで、引数の数または型が正しくありません。
> ORA-06550: 行1、列7:
> PL/SQL: Statement ignored    場所
> Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32
> errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx*
> pOpoSqlValCtx, Object src, String procedure)
>   場所 Oracle.DataAccess.Client.OracleException.HandleError(Int32
> errCode, OracleConnection conn, String procedure, IntPtr opsErrCtx,
> OpoSqlValCtx* pOpoSqlValCtx, Object src)
>   場所 Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()
>   場所 Seasar.Framework.Util.CommandUtil.ExecuteNonQuery(IDataSource
> dataSource, IDbCommand cmd)
>
> [NextException]
> Oracle.DataAccess.Client.OracleException
> ORA-06550: 行1、列15:
> PLS-00306: 'NAME'の呼出しで、引数の数または型が正しくありません。
> ORA-06550: 行1、列7:
> PL/SQL: Statement ignored
>  ErrorCode = 6550
>  HelpLink  =
>
> [Behavior]
> CodeMstBhv.OutsideSql().Call()
>
> [OutsideSqlPath]
> CODE.NAME
>
> [ParameterBean]
> App.DB.ExDao.PmBean.NamePmb
> {,1,0}
>
> [Statement]
> Oracle.DataAccess.Client.OracleCommand
> * * * * * * * * * */
>
> 2008/10/23 17:21 kubo <[E-MAIL ADDRESS DELETED]>:
>> 久保(jflute)です。
>>
>> もし「パッケージ名.プロシージャ名」で呼び出せるのであれば、
>> DBFluteがSql2Entityで自動生成するProcedurePmbを参考に
>> 手動でPmbを作って、ProcedureNameにパッケージ名を付与すれば
>> 実行はできるかもしれません。(未検証)
>>
>>
>> 2008/10/23 kubo <[E-MAIL ADDRESS DELETED]>:
>>> 久保(jflute)です。
>>>
>>> 取り急ぎ、DBFluteでは意識して対応はしていません。
>>>
>>> ADO.NET(というかOracleのProvider)でどうやって、
>>> 指定して実行できるのかがよくわかっていません。
>>> (InternalProcedureHandlerクラスにてプロシージャを実行しています)
>>>
>>> 後は、パッケージ名がメタ情報として取得できるのかどうかも
>>> わかっていません。(というかそもそもアプローチしたことがないです)
>>>
>>> #
>>> # そもそもOracleでパッケージを使ったことがないので、
>>> # 申し訳ありませんが知識不足です。。。
>>> #
>>>
>>> 2008/10/23 k. moriwaki <[E-MAIL ADDRESS DELETED]>:
>>>> 森脇と申します。
>>>>
>>>> 件名の通りなのですが、S2Dao.NET、DBFluteともOracleのパッケージには
>>>> 対応されていますでしょうか?
>>>>
>>>> S2Dao.NET のドキュメントを確認しましたが、Procedure属性の指定が
>>>> ・ストアプロシージャ名
>>>> ・スキーマ名.ストアドプロシージャ名
>>>> しか説明がありませんでしたので対応されていないのでしょうか?
>>>> _______________________________________________
>>>> 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 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


seasar-dotnet メーリングリストの案内