Date: Fri, 26 Mar 2004 22:46:41 +0900
From: 上田謙吉 <who@example.co.jp>
kenkichi といいます。
VC6(ADO)+MSDEでデータベースアプリを作っています。
あるテーブルにレコードを追加のにAddNewを実行しているのですが、
テーブルが2万件を越えたあたりでタイムアウトして追加できなくなりました。
そのときのエラーメッセージは以下のようなものです。
>エラー:80040e31.
>エラーメッセージ:IDispatch error #3121.
>ソース:Microsoft OLE DB Provider for ODBC Drivers.
>説明:[Microsoft][ODBC SQL Server Driver]時間切れになりました。.
その後、調べてCommandTimeoutを設定したのですが、エラーは変りません。
CommandTimeoutの設定が間違っているのでしょうか?
やっている手順は、
1.#import でADOを使えるようにして、
2.connectionを作り、
> hr = m_pConnection.CreateInstance( __uuidof( Connection ) );
> hr = m_pConnection->Open(
> _bstr_t(strServer),_bstr_t(L"sa"),_bstr_t(L""),
> adModeUnknown);
> m_IsConnectionOpen = TRUE;
> m_pConnection->ConnectionTimeout=1000;
> m_pConnection->CommandTimeout=1000;
3.recordsetをつくり、
> hr = pRecordSet.CreateInstance(_uuidof(Recordset));
> pRecordSet->PutRefActiveConnection(pDoc->m_pConnection);
> hr = pRecordSet->Open(_variant_t(bstrQuery), vNull,
> adOpenForwardOnly, adLockOptimistic, adCmdText);
4.レコードを追加しています。
> pRecordSet->AddNew(vaFieldlist, vaValuelist);
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|