[seasar-dotnet:621] Re: 定義ファイル内JScript.NETオブジェクトの拡張について

Ryo Miyagi [E-MAIL ADDRESS DELETED]
2007年 10月 26日 (金) 16:43:08 JST


宮城です。

杉本さんの日記で
System.Data.Common.DbProviderFactories
を使用してデータプロバイダの指定を改善する話が出ていたので
試しに実装してみました。

Diconファイルの設定で
既存のデータプロバイダの指定と
DbProviderFactoriesを使用したデータプロバイダの指定
を切り替えられるようにしています。

切り替え方は次になります。

(1) 既存のデータプロバイダの指定
--Diconファイル
  <component name="SqlClient" class="Seasar.Extension.ADO.DataProvider">
    <property name="ConnectionType">"System.Data.SqlClient.SqlConnection"</property>
    <property name="CommandType">"System.Data.SqlClient.SqlCommand"</property>
    <property name="ParameterType">"System.Data.SqlClient.SqlParameter"</property>
    <property name="DataAdapterType">"System.Data.SqlClient.SqlDataAdapter"</property>
  </component>
  <component name="DataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
    <property name="DataProvider">SqlClient</property>
    <property name="ConnectionString">"Data Source=(local);Initial
Catalog=s2dotnetdemo;Integrated Security=SSPI"</property>
  </component>

(2) DbProviderFactoriesを使用したデータプロバイダの指定
App.configで指定したProviderInvariantNameをTxDataSourceのプロパティで設定する
--Diconファイル
  <component name="SqlDataSource" class="Seasar.Extension.Tx.Impl.TxDataSource">
    <property name="ProviderInvariantName">"provider"</property>
  </component>

--App.config
<configuration>
  <connectionStrings>
    <add name="provider"
connectionString="Server=(local);database=s2dotnetdemo;Integrated
Security=SSPI" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>


S2Dao.NETを利用しないでDB接続を実装する場合、
実装クラスにTxDataSourceをDIすると
DBのコネクションが取得できます。

まだ、MySQL等の.NET標準附属以外のデータプロバイダを指定したときの
動作が未確認ですが、問題なければsvnにコミットしたいと思います。

-- 
Ryo Miyagi


07/10/23 に AOYAMA Takashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 杉本さん、こんにちは。
> 青山です。
>
> > > ご提案ありがとうございます。
> > > connectionSettings にも対応したいと思います。
>
> こちらこそありがとうございます。
> ご相談してよかったです。
>
> > > # 現在、コンポーネント、アスペクトの自動登録機能を開発しておりますので、
> > > # それが終わり次第対応したいと思います。
>
> 先日のTechEdのセッションで開発するとお聞きしてましたが、
> まさに今開発中なのですね。こちらも非常に楽しみにしております。
>
> よろしくお願いいたします。
>
>
>
> ________________________________
>
> > Date: Tue, 23 Oct 2007 22:09:46 +0900
> > From: [E-MAIL ADDRESS DELETED]
> > To: [E-MAIL ADDRESS DELETED]
> > Subject: [seasar-dotnet:614] Re: 定義ファイル内JScript.NETオブジェクトの拡張について
>
> >
> > 杉本です。
> >
> > あっ、ごめんなさい。
> >
> > > connectionSettings にも対応したいと思います。
> > connectionStrings の間違いでした。
> >
> > 07/10/23 に Kazuya Sugimotoさんは書きました:
> > > 青山さん、こんにちは。
> > >
> > > 杉本です。
> > >
> > > ご提案ありがとうございます。
> > > connectionSettings にも対応したいと思います。
> > >
> > > # 現在、コンポーネント、アスペクトの自動登録機能を開発しておりますので、
> > > # それが終わり次第対応したいと思います。
> > >
> > >
> > > 07/10/23 に AOYAMA Takashiさんは書きました:
> > > >
> > > > 青山と申します。皆様はじめまして。
> > > >
> > > > S2.NETが.NETFW2.0用のみリリースとされていましたので、
> > > > .NETFW2.0向けの機能追加をしていただけないかご相談です。
> > > >
> > > > 定義ファイル内で使用するJScript.NET式でconnectionStringsへの
> > > > アクセスができればと思っております。
> > > >
> > > > 現在S2.NETを利用しての開発を行っております。
> > > > その際にDB接続文字列がappSettings内での管理となっております。
> > > > こちらS2.NETの定義ファイル内JScript.NET式でappSettingsにのみ
> > > > アクセス可能ですので、appSettingsに定義して定義ファイル内で
> > > > JScript.NET式を利用して接続文字列を利用しております。
> > > >
> > > > ただ、業務によってはS2Dao.NETを利用しないでDB接続を
> > > > 実装する特殊なクラスの実装なども行っております。
> > > > その際はJScriptUtil.csを編集しまして、appSettingsオブジェクトで
> > > > connectionSettingsの値も取得できるようにして、
> > > > connectionSettingsのみで接続文字列を管理してます。
> > > >
> > > > # connSettingsオブジェクト等を定義したほうがきれいだと思いますが
> > > > # 暫定的な対応として上記の通り編集しております。
> > > >
> > > > こちら、もしS2.NETのほうでも対応していただけたらありがたいと思い
> > > > ご相談差し上げた次第です。
> > > >
> > > > 皆様お忙しい中のご相談となってしまい申し訳ございませんが
> > > > ご検討をお願いいたします。
> > > >
> > > > ---
> > > > 青山
> > >
> > >
> > >
> > > --
> > > Kazuya Sugimoto
> > > Microsoft MVP Visual Developer - Solutions Architect
> > > http://d.hatena.ne.jp/sugimotokazuya/
> > >
> >
> >
> > --
> > Kazuya Sugimoto
> > Microsoft MVP Visual Developer - Solutions Architect
> > http://d.hatena.ne.jp/sugimotokazuya/
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
> ________________________________
> 広告表示なし!アカウント有効期限なし!Hotmail Plus のお申し込みはこちら
> http://get.live.com/mail/options
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>


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