- - PR -
ADODBのエラーです。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-08 22:29
はじめて質問させて頂きます。
IIS4とACCESS2000とASPでバイナリデータ(画像)の入出力を行うスクリプトを動作させていたのですが、突然 ADODB.Command エラー '800a0bb9' 引数が間違った型、または許容範囲外であるか、競合しています。 が出てしまうようになりました。 プログラムのバグかと思い格闘しましたが切り分けていった結果 Set objConn = Server.CreateObject("ADODB.Connection") objConn.Provider="Microsoft.Jet.OLEDB.4.0" objConn.Open(Server.MapPath("db.mdb")) Set objCmd = CreateObject("ADODB.Command") objCmd.ActiveConnection = objConn strSQL = "SELECT * FROM recruit" objCmd.CommandText = strSQL ' objCmd.CommandType = adCmdText objCmd.CommandTimeout = 30 Set objRs = CreateObject("ADODB.Recordset") objRs.CursorType = adOpenStatic ' objRs.LockType = adLockOptimistic objRs.Open objCmd 上記のコメントアウトしているところで発生しています。 上をコメントアウトすると下の方でエラーが発生します。そのときはRecordsetエラーです。 それにあわせて上記の同じスクリプトを使っている他のスクリプト(DBも別です)まで同じエラーが発生しています。 切り分け中に何度もトライしている途中、1回だけエラーが起きなかったのもすごく引っかかります。 なにかシステム上の問題のように思えますが、確認すべき項目などありましたらご教授願えたら幸いです。 よろしくお願いします。 |
|
投稿日時: 2005-12-10 18:01
こんにちは。
ASPプログラミングの経験が無い人間の意見ですが。 adCmdText や adLockOptimistic といった定数をASPの実行エンジンが理解 出来ていないのが原因ではないでしょうか。 定数を宣言するか、定数の代わりに定数に対応したenum値(数字)をプロパティに 代入すれば動く気がします。 |
|
投稿日時: 2005-12-10 20:03
Google 検索結果
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |
|
投稿日時: 2005-12-11 22:21
ue さん>
じゃんぬねっと さん> ご返事ありがとう御座います。 あれからさらに格闘を続けまして、結果から言いますとなんとか復旧いたしました。 問題なく動いていたソースが、いきなり初歩的に動かなくなってしまったので、とても困惑しました。 何か、ADODBのトラブルのような気がしてgloval.asaの中身を <!--METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205-0000-0010-8000-00AA006D2EA4}"--> だったのを一旦2.7に書き換えましたら、違うlibが違うといった内容のエラーになりましたので元に戻したら何事もなかったかのように動き出しました・・・。(同時に動かなくなっていた他のスクリプトもです。) 結局何がエラーの原因だったのか定かではないのですが、IISやOSの再起動では変化がなかったのですが、global.asaの書き換えで何かが正常に戻ったのかどうかといったところでしょうか。 一時的に何らかの原因でクラッシュしていたのかもしれません。 少し動作を見守って見たいと思います。 ありがとう御座いました。 |
1