[seasar-dotnet:2190] Re: 【Quill】DBアクセスの記述方法について

kotani.k [E-MAIL ADDRESS DELETED]
2012年 8月 19日 (日) 23:07:07 JST


佐藤さん

小谷と申します。
新バージョンを早速お試しいただき、ありがとうございます。

Quillを使う場合はdiconファイルは必要ありません。

設定ファイルの下記の部分を
===============================================================
<connectionString>
"Server={サーバ名}\\SQLEXPRESS;Database=s2dotnetdemo;Integrated
Security=true"
</connectionString>
===============================================================
下記のように改行せずに記述して試してみていただけないでしょうか?
===============================================================
<connectionString>"Server={サーバ名}\\SQLEXPRESS;Database=s2dotnetdemo;Integrated
Security=true"</connectionString>
===============================================================

Quillではセキュリティの都合上など、どうしても設定ファイルに接続文字列を記述したくない場合用に、
接続文字列取得クラスを使用して接続文字列を設定することができます。

接続文字列の両端が「"(ダブルクオーテーション)」になっていない場合は
Seasar.Quill.Database.DataSource.Connection.IConnectionStringを実装したクラス名と見なし、
その実装クラスから接続文字列を取得しようとする動きになります。

両端が「"」の場合は通常の接続文字列として、設定ファイルに書かれた文字列をそのまま使用します。

http://s2container.net.seasar.org/ja/quill_config.html#datasource
「接続文字列」欄

佐藤さんの場合は改行コードが入っているために両端が「"」になっていると認識されなかったものと思われます。
(ドキュメントの「設定例」が間違っている、ということになりますね。
 佐藤さんが正常にDBアクセスができたのを確認でき次第、修正します)

以上です。
よろしくお願い致します。

2012年8月19日 22:10 佐藤 浩 <shiroshi92 @ gmail.com>:
> 佐藤と申します。
>
> C# .Net.4.0
> S2Container.NET 1.4.0 RC3
> SqlServer2008 R2
>
> AopやDIは動作を確認できたのですが、DBアクセスの設定が
> 悪いようで、以下のエラーが出力されます。
>
> Seasar.Quill.Exception.QuillInvalidClassException はハンドルされませんで
> した。
> Message=[EQLL0027]nullはIConnectionStringの実装、または継承クラスではあ
> りません。
> Source=Seasar.Quill
> MessageCode=EQLL0027
> SimpleMessage=nullはIConnectionStringの実装、または継承クラスではありま
> せん。
> StackTrace:
> 場所 Seasar.Quill.QuillConfig.GetConnectionString(DataSourceSection
> dataSourceSection)
> ・・・以下 中略
>
> 基本的な質問で、申し訳ないのですが、以下の設定の何が悪いのでしょうか?
> 設定はapp.configのみに記述していますが、diconファイルが必要なのでしょうか?
> また、メーリングリストの保存車庫(https://www.seasar.org/archives
> /seasar-dotnet/)
> にアクセスしてもページが見つかりませんと表示されるのですが、どのようにす
> れば参照
> できるのでしょうか?
>
> 【app.config】
> <?xml version="1.0"?>
> <configuration>
> <configSections>
> <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
> <section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler,
> Seasar.Quill" />
> </configSections>
>
> <log4net>
> <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
> <layout type="log4net.Layout.PatternLayout">
> <conversionPattern value="%-5p %d [%t] %m%n" />
> </layout>
> </appender>
> <root>
> <level value="DEBUG" />
> <appender-ref ref="TraceAppender" />
> </root>
> </log4net>
>
> <quill>
> <dataSources>
> <dataSource name="ds">
> <provider>SqlServer</provider>
> <connectionString>
> "Server={サーバ名}\\SQLEXPRESS;Database=s2dotnetdemo;Integrated
> Security=true"
> </connectionString>
> <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
> </dataSource>
> <assemblys>
> <assembly>Seasar.Dao</assembly>
> <assembly>Seasar.Windows</assembly>
> <assembly>Seasar.Dxo</assembly>
> </assemblys>
> </dataSources>
> </quill>
>
> <startup>
> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
> </startup>
> </configuration>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet


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