dポイントプレゼントキャンペーン実施中!

お世話になります。

ASPの画面からSqlServerにADO経由で接続しているのですが、
時々、Openでエラーとなってしまいます。

 oRS.Open "TBL_NAME", 接続情報, 3, 3
  → この命令でエラーとなってしまいます。

 エラー内容は
 「Microsoft OLE Provider for ODBC Drivers (0x80040E14)
  [Microsoft][ODBC SQL Server Driver][SQL Server]'TBL_NAME' は テーブル オブジェクトなので、
  要求 プロシージャ 'TBL_NAME' は失敗しました。」
 と表示されます。

開発環境は以下
 OS:Windows2000
 データベース:SQLServer2000
となっております。

何方か、ご存じの方がいらっしゃいましたら、お教え願います。
宜しくお願い致します。

A 回答 (1件)

前の処理が不明なのでなんともいえませんが、そのRecordset.Openの第一パラメータ(CommandText)がコマンド文字列、または、ストアドプロシージャと評価するようになってしまっているようです。


もし、そのようにテーブル名だけを記載して評価させたいのであれば、オプションパラメータで強制的にテーブル名であると認識させればよいかと思います。


oRS.Open "TBL_NAME", 接続情報, 3, 3, 2
末尾の2はadCmdTableです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ご指摘頂いたとおりに、修正して確認したところ、デットロックが発生したとエラーメッセージが変わりました。

デットロックと言うことなので、トランザクションや処理が正しく行われているか、再度確認致したいと思います。

ありがとうございました。

お礼日時:2008/11/27 19:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す