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

kubo [E-MAIL ADDRESS DELETED]
2011年 3月 17日 (木) 16:05:54 JST


久保(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 メーリングリストの案内