[seasar-dotnet:1961] Re: dbflute.netでVPNクライアントから起動できない。

八鍬達也 [E-MAIL ADDRESS DELETED]
2011年 3月 17日 (木) 18:31:48 JST


久保様

追加の情報ですが。
以下のページのサンプルの
「Quill, S2Formを使ったサンプルソリューション (C#2.0バージョン)」
http://s2container.net.seasar.org/ja/download.html
を使用しても、同じ現象でした。。。

なにかわかりましたら、
ご連絡いただければ幸いです。

以上です。


2011年3月17日17:30 kubo <[E-MAIL ADDRESS DELETED]>:
> 久保(jflute)です。
>
> ちょっと急いで書いてます。
> どこかでみたような例外ではありますね。
> ちょっと前提を整理した方がいいかもしれないので、
> 念のためですが、実行環境の.NETのバージョンが、
> 利用している Quill の対応バージョンと合ってるか
> どうか確認してみて下さい。
> (.NET-4.0対応のものか、そうでないか)
> 修正して試したソースにも対応バージョンが
> 決まっている、一旦その辺を整理してみて下さい。
>
> 関東は消費電力ピーク時に需要と供給がギリギリに
> なるかもしれないとのことで、自分もPC落とすので、
> すぐには反応できません。
>
> 2011/3/17 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>> 久保様
>>
>> 八鍬です。
>>
>>> CreateProxyObject()からExceptionが発生している
>>> とのことですが、その例外の名前やメッセージ、
>>> スタックトレースはどのようなものでしょうか?
>> QuillApplicationException:
>> メッセージコード:EQLL0037
>> 内容:プロキシオブジェクト({0})の生成に失敗しました。コンストラクタ内の処理、アクセス修飾子、インターセプターを設定しているメソッドがインターフェースor
>> virtualになっているか、Castle.DynamicProxy.dllがSeasar.Quill.dllと同じ場所にあるか等をご確認下さい。
>> です。
>> なお、
>> Castle.DynamicProxy.dllがSeasar.Quill.dllは同じ場所にあります。
>>
>>
>>> また、アプリケーションとしてはうんともすんとも言わずに
>>> 落ちてしまう(例外メッセージがログにも出てこない)
>>> という最初の報告がありましたが、この例外が発生して
>>> からは処理がどうなっているでしょうか?
>> 変わりありません。
>> なにも反応ないまま、プロセスが終了されてます。
>>
>>> (例外ハンドリングする前にどこかで C# のプロセスが切れる!?)
>> 問題の発生している実行環境では、ログの出力しかできないため、
>> そこまでは確認できていません。
>>
>>
>>> あと、CreateProxyObject()ってどこの
>>> クラスのメソッドでしょうか?
>> Seasar.Quill.QuillComponentクラスになります。
>>
>>
>>
>>
>>
>> 2011年3月17日16:05 kubo <[E-MAIL ADDRESS DELETED]>:
>>> 久保(jflute)です。
>>>
>>> DynamicProxyが関わってくると一層ややこしそうですね。
>>>
>>> CreateProxyObject()からExceptionが発生している
>>> とのことですが、その例外の名前やメッセージ、
>>> スタックトレースはどのようなものでしょうか?
>>>
>>> また、アプリケーションとしてはうんともすんとも言わずに
>>> 落ちてしまう(例外メッセージがログにも出てこない)
>>> という最初の報告がありましたが、この例外が発生して
>>> からは処理がどうなっているでしょうか?
>>> (例外ハンドリングする前にどこかで C# のプロセスが切れる!?)
>>>
>>> あと、CreateProxyObject()ってどこの
>>> クラスのメソッドでしょうか?
>>>
>>> 2011/3/17 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>> 久保様
>>>>
>>>> お世話になっております。
>>>> 八鍬です。
>>>>
>>>> エラーの発生している箇所を特定しましたが、
>>>> 対応の方法がわからず。
>>>> 苦慮しております。
>>>>
>>>> 実際にExceptionをなげているのは
>>>> ***
>>>> protected virtual void CreateProxyObject(
>>>>           Type componentType, Type receiptType, IAspect[] aspects)
>>>> ***
>>>> メソッドにでした。
>>>> この
>>>> ***
>>>> aopProxy = new DynamicAopProxy(componentType, aspects, parameters);
>>>>
>>>> ***
>>>> で、落ちていました。
>>>>
>>>> 関連する引数の値は、
>>>> componentType   {Name = "LoginInfoDao" FullName =
>>>> "MsiNet.AllowanceCalculation.Dbflute.ExDao.LoginInfoDao"}       System.Type
>>>> {System.RuntimeType}
>>>> receiptType     {Name = "LoginInfoDao" FullName =
>>>> "MsiNet.AllowanceCalculation.Dbflute.ExDao.LoginInfoDao"}       System.Type
>>>> {System.RuntimeType}
>>>> aspects {Seasar.Framework.Aop.IAspect[1]}       Seasar.Framework.Aop.IAspect[]
>>>>
>>>> といった感じだったのですが、
>>>> なにか原因は考えらえますでしょうか??
>>>>
>>>> また、他に注目すべき値などはありますでしょうか??
>>>>
>>>> 以上です。
>>>>
>>>>
>>>> 2011年3月15日19:43 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>> 久保(jflute)です。
>>>>>
>>>>>> サンプルでの結果ですが、
>>>>>> 下記のサンプルでテストした結果、
>>>>>> 問題なく接続できることが確認できました。
>>>>>
>>>>> おおっと、なるほど再現しないということですね。
>>>>> ならば Quill を使った場合の接続を疑った方がよさそうですね。
>>>>>
>>>>> ちょっと力技ですが、Quill のソースを修正してログなどを
>>>>> 入れてみて(可能であればデバッガでもいいですけど)、
>>>>> エラーになる箇所をピンポイントで特定してしまうのが
>>>>> 一番早い解決につながるかもしれません。
>>>>>
>>>>> Quill でも ADO.NET を使っていることには変わりませんので、
>>>>> どこかにその使い方に違いがあって落ちる落ちないの差が出る
>>>>> と考えられますので、ここはオープンソースの特性を活かして、
>>>>> その差が何かってのを明確にすると解決法が見えてくるかと。
>>>>>
>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>> 久保様
>>>>>>
>>>>>> お世話になっております。
>>>>>> 八鍬です。
>>>>>>
>>>>>> サンプルでの結果ですが、
>>>>>> 下記のサンプルでテストした結果、
>>>>>> 問題なく接続できることが確認できました。
>>>>>>
>>>>>>>最終的には、ADO.NETやSQLServerとVPNで情報探していく
>>>>>> >必要があるのかなぁと推測しています。
>>>>>> こちらも調査してみます。
>>>>>> 加えて、ユーザの権限やセキュリティの設定も改めて確認しています。
>>>>>>
>>>>>>
>>>>>> 以下、使用したサンプルです。
>>>>>>
>>>>>> //サンプルコード概要
>>>>>> //Form1上にbutton1とtextBox1を配置して
>>>>>> //textBox1に接続文字列を入力して、接続できるかを確認する。
>>>>>> /*
>>>>>> private void button1_Click(object sender, EventArgs e)
>>>>>>        {
>>>>>>            string stConnectionString = string.Empty;
>>>>>>            System.Data.SqlClient.SqlConnection cSqlConnection = null;
>>>>>>            try
>>>>>>            {
>>>>>>                // 接続文字列を生成する
>>>>>>
>>>>>>                stConnectionString = textBox1.Text.ToString();
>>>>>>
>>>>>>                // SqlConnection の新しいインスタンスを生成する (接続文字列を指定)
>>>>>>                cSqlConnection = (
>>>>>>                    new System.Data.SqlClient.SqlConnection(stConnectionString)
>>>>>>                );
>>>>>>
>>>>>>                // データベース接続を開く
>>>>>>                cSqlConnection.Open();
>>>>>>
>>>>>>                // 接続に成功した旨を表示する
>>>>>>                MessageBox.Show("Microsoft SQL Server に接続されました");
>>>>>>
>>>>>>            }catch(Exception ex){
>>>>>>                MessageBox.Show(ex.Message.ToString());
>>>>>>
>>>>>>            }finally{
>>>>>>                // データベース接続を閉じる (正しくは オブジェクトの破棄を保証する を参照)
>>>>>>                if (cSqlConnection != null)
>>>>>>                {
>>>>>>                    cSqlConnection.Close();
>>>>>>                    cSqlConnection.Dispose();
>>>>>>                }
>>>>>>
>>>>>>            }
>>>>>>        }
>>>>>> */
>>>>>>
>>>>>> 以上です。
>>>>>>
>>>>>> 2011年3月15日16:34 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>>>> 久保(jflute)です。
>>>>>>>
>>>>>>> 八鍬さん、ありがとうございます。
>>>>>>> 目の前の生活・仕事を頑張るのが一番の貢献ですね。
>>>>>>> お互い頑張りましょう。
>>>>>>>
>>>>>>> ADO.NETだけで再現するのであれば、
>>>>>>> 次は英語版を日本語版にして試すって順序ですが、
>>>>>>> なんとなくですがそれが影響するとはあまり思えないですね。
>>>>>>> 最終的には、ADO.NETやSQLServerとVPNで情報探していく
>>>>>>> 必要があるのかなぁと推測しています。
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> #
>>>>>>> # 皆様へ
>>>>>>> # 反応は遅れるかもしれませんが、
>>>>>>> # DBFluteの問い合わせなど変わらず受け付けています。
>>>>>>> # 効率良くDBFluteを使ってもらうことが、ささやかながらも
>>>>>>> # 間接的な貢献につながると思いますので。
>>>>>>> #
>>>>>>>
>>>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>>>> 久保様
>>>>>>>>
>>>>>>>> ご無事でなによりです。
>>>>>>>> こんなときにも、仕事があるのはとても恵まれているのだと、
>>>>>>>> ひしひし実感しております。
>>>>>>>>
>>>>>>>>> ADO.NET を直接使って、ログイン情報を取得する
>>>>>>>>> だけの本当に簡易なアプリで作って、試してみると
>>>>>>>>> 良いと思います。それで再現するかしないかで、
>>>>>>>>> アプローチする領域が変わってくるのかなと。
>>>>>>>> アドバイスありがとうございます。
>>>>>>>> 試してみます。
>>>>>>>>
>>>>>>>> 以上です。
>>>>>>>>
>>>>>>>> 2011年3月15日12:00 kubo <[E-MAIL ADDRESS DELETED]>:
>>>>>>>>> 久保(jflute)です。
>>>>>>>>>
>>>>>>>>> 八鍬さん、こんにちは
>>>>>>>>> DBFluteの話ができるのがとてもうれしいです。
>>>>>>>>>
>>>>>>>>> と言いつつも、ちょっと原因は全くの不明です。
>>>>>>>>> こういうときは決まって、消去法で原因領域を
>>>>>>>>> 狭めていくのがよいかと思います。
>>>>>>>>>
>>>>>>>>> ADO.NET を直接使って、ログイン情報を取得する
>>>>>>>>> だけの本当に簡易なアプリで作って、試してみると
>>>>>>>>> 良いと思います。それで再現するかしないかで、
>>>>>>>>> アプローチする領域が変わってくるのかなと。
>>>>>>>>>
>>>>>>>>> 2011/3/15 八鍬達也 <[E-MAIL ADDRESS DELETED]>:
>>>>>>>>>> 八鍬と申します。
>>>>>>>>>>
>>>>>>>>>> dbflute.net×CSharpで、WindowsFormアプリケーションを作成しています。
>>>>>>>>>>
>>>>>>>>>> 特定の環境下で、アプリケーションが起動しない問題が起きています。
>>>>>>>>>> (アプリケーションエラーにもならず、ウィンドウが立ち上がらない)
>>>>>>>>>> DBFluteのログを確認したのですが、
>>>>>>>>>> データベースへの接続の前に処理が中断されているようでした。
>>>>>>>>>>
>>>>>>>>>> サーバローカル上にEXEを配置した場合は、問題なく起動できたので、
>>>>>>>>>> dbfluteが直接関係しているとは考えにくいのですが。。。
>>>>>>>>>>
>>>>>>>>>> データベースの接続については、
>>>>>>>>>> クライアントからマネージメントスタジオでの接続、
>>>>>>>>>> sqlcmdによる接続を確認しています。
>>>>>>>>>> また、TCPポート1433については開放してあります。
>>>>>>>>>>
>>>>>>>>>> 気になる点としては、サーバ、クライアントともにOSが英語版であるため、
>>>>>>>>>> ロケーションによる問題が発生しないか?という点と
>>>>>>>>>> 失敗している環境下では、VPNを使用しているという点です。
>>>>>>>>>>
>>>>>>>>>> 原因について、どのようなことが考えられるか、
>>>>>>>>>> ご教授いただけないでしょうか??
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 以下、詳細になります。
>>>>>>>>>> --
>>>>>>>>>> DBfluteのバーション:dbflute-0.8.9.22
>>>>>>>>>> データベース:SQLSQEVER2005(英語版)
>>>>>>>>>> クライアント:winXP(英語版)
>>>>>>>>>> .NetFramework3.5SP1
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 接続に失敗する環境下で
>>>>>>>>>> DBFluteのログをみると、
>>>>>>>>>>
>>>>>>>>>> ******************************
>>>>>>>>>> 2011-03-14 15:13:51,933 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>> configuration file path:C:\Documents and
>>>>>>>>>> Settings\XXXXXX\Desktop\exec\Seasar.Quill.dll.config
>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>> no additional assembly.
>>>>>>>>>> 2011-03-14 15:13:51,949 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>> file.
>>>>>>>>>> ******************************
>>>>>>>>>>
>>>>>>>>>> で止まっています。
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 通常(接続できる)は、
>>>>>>>>>> ******************************
>>>>>>>>>> 2011-03-11 14:27:19,230 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>> configuration file
>>>>>>>>>> path:C:\Users\XXXXX\Documents\Works\WorkXXXX\Release\2011-03-11_1425\exec\Seasar.Quill.dll.config
>>>>>>>>>> 2011-03-11 14:27:19,235 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>> 2011-03-11 14:27:19,236 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>> no additional assembly.
>>>>>>>>>> 2011-03-11 14:27:19,244 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>> file.
>>>>>>>>>> 2011-03-11 14:27:19,549 [1] DEBUG
>>>>>>>>>> MsiNet.AllowanceCalculation.Dbflute.AllCommon.S2Dao.S2DaoMetaDataFactoryImpl
>>>>>>>>>> - ...Creating daoMetaData for 'LoginInfoDao'.
>>>>>>>>>> 2011-03-11 14:27:19,777 [1] DEBUG
>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataExtension -
>>>>>>>>>> ...Initializing sqlCommand for SelectList().
>>>>>>>>>> 2011-03-11 14:27:19,825 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> SqlCommand Initialization Cost: [00m00s275ms]
>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> /================================================================================
>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>
>>>>>>>>>> LoginInfoBhv.SelectEntity()
>>>>>>>>>> 2011-03-11 14:27:19,835 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>
>>>>>>>>>> ==========================/
>>>>>>>>>> 2011-03-11 14:27:19,839 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> SystemServiceImpl.Login() --> LoginInfoBhv.SelectEntity() --> ...
>>>>>>>>>> 2011-03-11 14:27:20,073 [1] DEBUG Seasar.Framework.Util.DataSourceUtil
>>>>>>>>>> - Logical connection got
>>>>>>>>>> 2011-03-11 14:27:20,074 [1] DEBUG
>>>>>>>>>> MsiNet.AllowanceCalculation.Dbflute.AllCommon.QLog -
>>>>>>>>>> select  dfloc.id as c0, dfloc.login_id as c1, dfloc.login_pw as c2,
>>>>>>>>>> dfloc.user_nm as c3
>>>>>>>>>>  from login_info dfloc
>>>>>>>>>>  where dfloc.login_id = 'XXXXX'
>>>>>>>>>> 2011-03-11 14:27:20,144 [1] DEBUG Seasar.Framework.Util.ConnectionUtil
>>>>>>>>>> - Logical connection closed
>>>>>>>>>> 2011-03-11 14:27:20,150 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> ===========/ [00m00s306ms (1) result={5, XXXXX, , , , , , }]
>>>>>>>>>> 2011-03-11 14:27:20,150 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>
>>>>>>>>>> ******************************
>>>>>>>>>>
>>>>>>>>>> となり、ログインに関する情報を取得するのですが。。。
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> データベースへ接続できない場合(DBユーザのパスワードのあやまりなど)は、
>>>>>>>>>> ******************************
>>>>>>>>>> 2011-03-11 14:42:01,081 [1] INFO  Seasar.Quill.QuillConfig - Quill
>>>>>>>>>> configuration file
>>>>>>>>>> path:C:\Users\XXXXX\Documents\Works\WorkXXXXX\Release\2011-03-11_1425\exec\Seasar.Quill.dll.config
>>>>>>>>>> 2011-03-11 14:42:01,085 [1] INFO  Seasar.Quill.QuillContainer - Quill
>>>>>>>>>> configuration file (exist = true, none = false):True
>>>>>>>>>> 2011-03-11 14:42:01,086 [1] INFO  Seasar.Quill.QuillConfig - There is
>>>>>>>>>> no additional assembly.
>>>>>>>>>> 2011-03-11 14:42:01,094 [1] INFO  Seasar.Quill.QuillConfig - The data
>>>>>>>>>> source is generated by using the setting of the Quill configuration
>>>>>>>>>> file.
>>>>>>>>>> 2011-03-11 14:42:01,376 [1] DEBUG
>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataFactoryImpl -
>>>>>>>>>> ...Creating daoMetaData for 'LoginInfoDao'.
>>>>>>>>>> 2011-03-11 14:42:01,430 [1] DEBUG
>>>>>>>>>> XXXXX.XXXXX.Dbflute.AllCommon.S2Dao.S2DaoMetaDataExtension -
>>>>>>>>>> ...Initializing sqlCommand for SelectList().
>>>>>>>>>> 2011-03-11 14:42:01,447 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> SqlCommand Initialization Cost: [00m00s071ms]
>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> /================================================================================
>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>
>>>>>>>>>> LoginInfoBhv.SelectEntity()
>>>>>>>>>> 2011-03-11 14:42:01,455 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>>
>>>>>>>>>> ==========================/
>>>>>>>>>> 2011-03-11 14:42:01,458 [1] DEBUG XXXXX.XXXXX.Dbflute.AllCommon.XLog -
>>>>>>>>>> SystemServiceImpl.Login() --> LoginInfoBhv.SelectEntity() --> ...
>>>>>>>>>>
>>>>>>>>>> ******************************
>>>>>>>>>>
>>>>>>>>>> となっています。
>>>>>>>>>> _______________________________________________
>>>>>>>>>> seasar-dotnet mailing list
>>>>>>>>>> [E-MAIL ADDRESS DELETED]
>>>>>>>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> seasar-dotnet mailing list
>>>>>>>>> [E-MAIL ADDRESS DELETED]
>>>>>>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> seasar-dotnet mailing list
>>>>>>> [E-MAIL ADDRESS DELETED]
>>>>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> seasar-dotnet mailing list
>>>>> [E-MAIL ADDRESS DELETED]
>>>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>>>
>>>>
>>> _______________________________________________
>>> seasar-dotnet mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>


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