- - PR -
「System.Data.OleDb.OleDbException: 不明」の件
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-09 17:04
お疲れ様です。
いま、Windows Formsアプリの開発はしています。お客様からのフィードバックですが、 アプリがエラーは発生してしまいました。 こちのPCでアプリがうまく動きましたが、お客様のPCは何でエラーが発生しますか? いろいろ調査しましたが、まだ原因はわからないです。 皆さんは、誰か教えていただきませんか? ■環境: ・Win2000 SP4 ・.NET framework 1.1 ・DBはMicrosoft Access 2000 ・開発ツール:VB.NET 2003 ・MS Office 2000(MS Accessも含める) ・MDACバージョン:MDAC 2.8 SP1をインストールしました HKEY_LOCAL_MACHINE\\Software\\Microsoft\\DataAccess\\FullInstallVer = 2.81.1128.0 HKEY_LOCAL_MACHINE\\Software\\Microsoft\\DataAccess\\Version = 2.81.1117.6 ・Micorosoft JET Engineバージョン:4.00.9025.0 ■エラー情報: System.Data.OleDb.OleDbException: 不明 at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr) at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) at MIGRATE.ADP.RunSqlFillDataTbl(String strSql, DataTable& dtTbl) SQLとエラーコードなどの情報も取得しました: [Error Code = -2147217900] [Index = 0] [Message = 不明] [Native Error = -524553244] [Source = Microsoft JET Database Engine] [SQL State = 3075] SQLは、下記になります: SELECT MID(CHUKAKU_CITY_CD,1,2) AS CODE, MID(CHUKAKU_CITY_CD,1,2) & '.' & CHUKAKU_CITY_NAME AS NAME FROM G_CHUKAKU_CITY WHERE START_DT < FORMAT(DATE(),'YYYYMMDD') AND END_DT > FORMAT(DATE(),'YYYYMMDD') AND DEL_FLG = '0' AND MID(CHUKAKU_CITY_CD,3) = '0000' ORDER BY CHUKAKU_CITY_CD ログを見て、MDBファイルとの接続が成功にできましたが、その後のSelect SQLを実行するとき、 上記のエラーは発生します。また、そのエラーが再現できます。 ■SQLテスト結果 原因を探知するには、下記のSQLが実行できるかテストしました。 結果が下記となります: A: SELECT * FROM G_CHUKAKU_CITY ⇒実行結果:OK B: SELECT * FROM G_CHUKAKU_CITY ORDER BY CHUKAKU_CITY_CD ⇒実行結果:NG。エラーは上記と同じ。 C: SELECT * FROM G_CHUKAKU_CITY WHERE START_DT < FORMAT(DATE(),'YYYYMMDD') AND END_DT > FORMAT(DATE(),'YYYYMMDD') AND DEL_FLG = '0' AND MID(CHUKAKU_CITY_CD,3) = '0000' ⇒実行結果:NG。エラーは上記と同じ。 D: SELECT MID(CHUKAKU_CITY_CD,1,2) AS CODE, MID(CHUKAKU_CITY_CD,1,2) & '.' & CHUKAKU_CITY_NAME AS NAME FROM G_CHUKAKU_CITY ⇒実行結果:NG。エラーは上記と同じ。 Aは、一番簡単なSQLですが、実行できました。 B〜Dはどうして実行できませんか? おかしいと思います。 ■参照 http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1468470&SiteID=7&mode=1 以上 David Lau |
|
投稿日時: 2007-05-09 17:22
参考までに。
エラーコードで検索したら、VB実行時エラーというページが引っかかりました。 VB6 の実行時エラーコードなので、同じではないかもしれませんが。 SELECT CHUKAKU_CITY_CD FROM G_CHUKAKU_CITY は、OKでしょうか? |
|
投稿日時: 2007-05-09 17:37
名前などから日本語圏の方ではなく、あまり日本語も達者ではないと推測
しますが、一言だけ。 MSDN フォーラムで話が進んでいる内容を @IT に持ち込むのはやめてください。 先日も「マイクロソフトに遠慮があるかもしれない」とか言ってこちらにマル チポストをした方がいらっしゃいましたが、個人的にはそういった行為(今回 のものを含む)はあまり好きではありません。 ましてや、この問題は MSDN フォーラムで魔界の仮面弁士さんが回答し てくださっている途中のようですし、それを無視して @IT に話を持ち込む のは、魔界の仮面弁士さんに対してとても失礼なことだと思います。 追記: 気になった部分は MSDN フォーラムの方に書いておきました。 [ メッセージ編集済み 編集者: ぽぴ王子 編集日時 2007-05-09 17:48 ] |
1