About 2010年05月

2010年05月?????????????????????????????????????????????????????

????????2010年04月???

????????????????????????????????????????

Powered by
Movable Type 3.35

« 2010年04月 | ???

2010年05月 ?????

2010年05月28日

今度の開発

今度の開発で,S2Dao.net を使用することにしました。

S2Dao.netは,S2Dao.NETはマッピング情報をXMLに記述しないO/Rマッピングフレームワークです。

S2Dao.NET

SelectからDataTableを取得する。

VB.NETで開発していますが,
当然,SELECTの結果は,コントロールにすぐにバインドできる
戻り値が欲しいです。

戻り値がListだと変換する場合,面倒です。

ネットで調べましたがなかなか見つからず。

色々試したら,
「resultSetHandler」に
「Seasar.Extension.DataSets.Impl.DataTableDataReaderHandler」
を指定してでできました。

「resultSetHandler」はSQLの問合せ結果の取得方法を指定できる見たいです。

diconの記述例


<component class="S2DaoSample.IJbosDao">
<aspect>S2Dao.Interceptor</aspect>
<property name="resultSetHandler">
<component class="Seasar.Extension.DataSets.Impl.DataTableDataReaderHandler">
<!-- tableName -->
<arg>"Jobs"</arg>
</component>
</property>
</component>

※ホントにこれでいいでしょうか?
 
 Seasar.Extension.DataSets.Impl.DataTableDataReaderHandlerのソースコードは見て,
 DataReaderのGetSchemaTableでスキーマ情報を取得して,
 DataTableを作成しているのは確認しました。

ODP.NET の Ado.dion

Ado.dion

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components21.dtd">

<components namespace="Ado">
<!-- Oracle Data Provider .NETを使用する場合に必要です。-->
<component name="ODP" class="Seasar.Extension.ADO.DataProvider">
<property name="ConnectionType">
"Oracle.DataAccess.Client.OracleConnection"
</property>
<property name="CommandType">
"Oracle.DataAccess.Client.OracleCommand"
</property>
<property name="ParameterType">
"Oracle.DataAccess.Client.OracleParameter"
</property>
<property name="DataAdapterType">
"Oracle.DataAccess.Client.OracleDataAdapter"
</property>
</component>

<!-- トランザクション用のDataSource -->
<component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
<property name="DataProvider">ODP</property>
<property name="ConnectionString">
"Data Source=Oracle;User Id=HR;Password=HR;"
</property>
</component>

<!-- ローカルトランザクション用のインターセプターで使用します -->
<component name="TransactionContext"
class="Seasar.Extension.Tx.Impl.TransactionContext">
<property name="IsolationLevel">
System.Data.IsolationLevel.ReadCommitted
</property>
</component>
</components>
</pre>


はたまた,App.configにアセンブリの登録が必要です。

<pre>
<seasar>
<!-- SingletonS2ContainerFactory#Initで下記で指定されたdiconファイルを
ルートのdiconファイルの初期値としてセットします。 -->

<configPath>S2DaoSample/App.dicon</configPath>

<!-- S2コンテナ作成時に以下で指定されたアセンブリをAppDomainに
読み込みます。(S2ContainerFactory#Create) -->
<assemblys>
<assembly>Seasar.Dao</assembly>
<assembly>Oracle.DataAccess, version=2.111.6.20, Culture=neutral, PublicKeyToken=89B483F429C47342</assembly>
</assemblys>

</seasar>

2010年05月
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31