[seasar-dotnet:2484] Re: QuillでのDB接続について

新谷将亮 [E-MAIL ADDRESS DELETED]
2016年 5月 10日 (火) 09:56:21 JST


新谷です。

久保様、大変申し訳ございません。
各設定を記載させていただきます。

【AppConfig】
---------------------------------------------------------------------------------------------------------------------------------------------

<?xml version="1.0"?>
<configuration>

  <configSections>
    <section name="log4net"
type="System.Configuration.IgnoreSectionHandler"/>
    <section name="seasar" type="Seasar.Framework.Xml.S2SectionHandler,
Seasar"/>
      <section name="quill"
        type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill" />
  </configSections>

(中略)

  <quill>
    <dataSources>
      <dataSource name="ds">
        <provider>Oracle</provider>
        <connectionString>"接続文字列"</connectionString>
        <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
      </dataSource>
    </dataSources>
    <assemblys>
      <assembly>Seasar.Dao</assembly>
      <!-- Oracle Data Provider for .NET を使用する場合に必要です。 -->
      <assembly>
        Oracle.DataAccess, version=2.111.7.0, Culture=neutral,
        PublicKeyToken=89b483f429c47342
      </assembly>
    </assemblys>
  </quill>

<startup><supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.6"/></startup></configuration>

---------------------------------------------------------------------------------------------------------------------------------------------


接続文字列の箇所を別のConfigファイルから変更したいと考えています。

また、エラー内容につきましては、

インターフェース

  [Implementation]
  [Aspect(typeof(SetConnectionStringInterceptor))]
  public interface IBhvService
  {
(中略)
  }

  public override object Invoke(IMethodInvocation invocation)
    {
      QuillContainer container = new QuillContainer();

      QuillComponent qc =
container.GetComponent(typeof(SelectableDataSourceProxyWithDictionary));

      Dictionary<int, string> dict = new Dictionary<int, string>();

      Assert.AreEqual(typeof(SelectableDataSourceProxyWithDictionary),
qc.ComponentType, "1");
      SelectableDataSourceProxyWithDictionary ds =
(SelectableDataSourceProxyWithDictionary)qc.GetComponentObject(
          typeof(SelectableDataSourceProxyWithDictionary));
      Assert.IsNotNull(ds, "2");
      Assert.GreaterThanOrEqualTo<int>(ds.DataSourceCollection.Count, 7);


      foreach (string key in ds.DataSourceCollection.Keys)
      {
        IDataSource part = ds.DataSourceCollection[key];
        if (part is TxDataSource)
        {
          //  全てのTxDataSource系のデータソースに
          //  TransactionContextが設定されているか確認
          Assert.IsNotNull(((TxDataSource)part).Context,
              "全てのTxDataSource系のデータソースにTransactionContextが設定されていない");
        }
      }

      object result = invocation.Proceed();

      return result;

    }

上記実行で、「Expected left to be greater or equal than right.」とエラーが発生します。

参考は「Seasar.Tests.Quill.QuillContainerTest.TestRegistDataSource()」です。

正直な話、参考にしている箇所も理解できていない状態で参考元が正しいのか?
また、正しかった場合、どこの箇所を変更する必要があるのか?
がわかっていない状況です。

大変、大雑把な質問で申し訳ございませんが、
ご回答いただけると大変助かります。

以上、宜しくお願い致します。


2016年5月9日 20:36 kubo <dbflute @ gmail.com>:

> 久保(jflute)です
>
> 新谷さん、こんばんは
>
> > QuillでDB接続(Oracle)が上手くできないため、
>
> どううまくいかないのか具体的に示した方が、
> ML閲覧者も回答しやすいかと思います。
> 具体的なエラーの内容や、実際にやってみた設定内容など。
> (業務上のセキュアな情報はマスクした上で)
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20160510/d256a5b8/attachment.html>


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