[seasar-dotnet:2485] Re: QuillでのDB接続について
志水正幸
[E-MAIL ADDRESS DELETED]
2016年 5月 10日 (火) 10:35:34 JST
初めまして
志水と申します。
エラー内容に関してはわからないので、質問の回答にはならないのですが
私の動作環境はNETFrameworkの4.6.1を使用してるので
環境的には類似していると思い返信させてもらいました。
DBはSQLServerです。
参考になるかわかりませんが、私のAppConfigの設定内容です。
※以前に竹内さんから頂いたメーリングリスト「[seasar-dotnet:2353] Re:
QuillでのSQLServerの接続について」を参考に
実際の接続文字列の内容は、Properties設定をプログラム内で再設定しています。
メーリングリスト[seasar-dotnet:2353] の内容はブラウザで「[seasar-
dotnet:2353]」を検索すれば確認できると思います。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler,
Seasar.Quill" />
<sectionGroup name="userSettings"
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ProjectWin.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.6.1"/>
</startup>
<quill>
<dataSources>
<dataSource name="Project_45">
<provider>SqlServer</provider>
<connectionString>ProjectWin.Helpers.ConnectionStringHelper</connectionString>
<class>Seasar.Extension.Tx.Impl.TxDataSource</class>
</dataSource>
</dataSources>
<assemblys>
<!-- for .NET4.0 -->
<!--<assembly>MySql.Data, version=6.3.5.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d</assembly>-->
<!-- for .NET2.0 -->
<!--<assembly>MySql.Data, version=1.0.10.1, Culture=neutral,
PublicKeyToken=c5687fc88969c44d</assembly>-->
</assemblys>
</quill>
<userSettings>
<ProjectWin.Properties.Settings>
<setting name="DatabaseDataSource" serializeAs="String">
<value>WIN2008-SQLSV\MSSQL2014SERVER</value>
</setting>
<setting name="DatabasePort" serializeAs="String">
<value>1433</value>
</setting>
<setting name="DatabasePassword" serializeAs="String">
<value>ug7ku02IjB4DsAOWfJXeDQ==</value>
</setting>
<setting name="DatabaseInitialCatalog" serializeAs="String">
<value>Project</value>
</setting>
<setting name="DatabaseUserID" serializeAs="String">
<value>Projectdb</value>
</setting>
<setting name="Keycd" serializeAs="String">
<value>1</value>
</setting>
</ProjectWin.Properties.Settings>
</userSettings>
</configuration>
以上
> 新谷です。
>
> 久保様、大変申し訳ございません。
> 各設定を記載させていただきます。
>
> 【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 <mailto:dbflute @ gmail.com>>:
>
> 久保(jflute) です
>
> 新谷さん、こんばんは
>
> > QuillでDB接続(Oracle)が上手くできないため、
>
> どううまくいかないのか具体的に示した方が、
> ML閲覧者も回答しやすいかと思います。
> 具体的なエラーの内容や、実際にやってみた設定内容など。
> (業務上のセキュアな情報はマスクした上で)
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org <mailto:seasar-dotnet @ ml.seasar.org>
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
>
>
> _______________________________________________
> seasar-dotnet mailing list
> seasar-dotnet @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
---
このEメールはアバスト アンチウイルスによりウイルススキャンされています。
https://www.avast.com/antivirus
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20160510/78887fd5/attachment.html>
seasar-dotnet メーリングリストの案内