|
分類:[VB.NET/VB2005 以降]
WindowsCE搭載のハンディ端末をPCにUSB接続し、ActiveSync通信にて PCとネットワーク上で繋がっているDBサーバにアクセスするアプリケーションを作成しています。 ActiveSync接続後、プログラム一式をハンディ端末に配置してアプリケーションを起動、 DB接続を行うと正常にアクセスできたのですが、USBを抜き差しして接続しなおすと "ユーザー 'xxxx' はログインできませんでした。(Microsoft SQL Server、エラー: 18456)" とエラーになり接続できなくなってしまいます。
試行錯誤を繰り返した結果、実行ファイルを配置しているフォルダにある 「system.data.sqlclient.dll」を配置し直す(移動して戻すだけ)と正常に繋がることが判明したのですが、 アプリケーション起動中はdllファイルがロックされてしまう為配置し直しが行えません。 USBを抜き差しするたびにdllファイルを配置し直さないとDB接続が行えない状況です。
何故このような現象が起こってしまうのか、 ActiveSyncの仕様なのかもさっぱりわからず行き詰ってしまいました。 他に端末が無い為問題の切り分けが難しいのですが、 何か解決方法がおわかりの方いらっしゃいましたらご教示の程、宜しくお願い致します。
■環境 ハンディ端末:WindowsCE 接続PC:Windows7 DBサーバ:MS SQL Server 2005 開発環境:VisualStudio2008 .NET Compact Framework 3.5 言語:VB.NET
|