- ベストアンサー
Accessでエラー
OS:XP Professional Access:2000 ODBCリンクテーブルに対してAccessで追加クエリを実行すると、memory allocation errorが発生しました。 そのためPCのメモリを増設(256→768)し、bios画面でも認識されたことを確認しました。 が、errorは収まらず困っています。 このエラーを収束させるには、どうすればいいのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>このエラーの指すメモリとは、主記憶のメモリではなくCPUのキャッシュ >メモリなのでしょうか? 違います。#1 は、 物理的メモリーの搭載量ではなく、ODBC ドライバまたはメモリの使用 方法に問題があるのではないか? との推測からのコメントです。もちろん、物理メモリが多い方が良いの は言うまでもありません。 前者の場合、まず、確認していただきたいのが、Office サービスパック の適用状態です。サービスパックを適用することで、ACCESS ODBC ドライバーが更新され、改善されるかもしれません。 後者の場合、クエリが複雑すぎるのかもしれません。 例えば、 ・演算フィールドが多くある ・サブクエリを多用している などが原因で、メモリリークすることが考えられます。この場合には、 クエリ( SQL )を最適化すれば良いでしょう。 参考 URL をご覧下さい。 http://support.microsoft.com/default.aspx?scid=kb;ja;209091 Microsoft:【[ACC2000]ODBC データソース利用時の Access の最適化方法】
その他の回答 (1)
- KenKen_SP
- ベストアンサー率62% (785/1258)
念のため、データベースの最適化を行ってみてください。 [ツール]-[データベース ユーティリティー]-[最適化/修復] です。一概には言えませんが、実メモリ搭載量の問題ではないと思います。
補足
迅速なご回答ありがとうございます。 さっそく実行してみましたが、やはりメモリアロケーションが発生してしまいました。 >一概には言えませんが、実メモリ搭載量の問題 >ではないと思います。 このエラーの指すメモリとは、主記憶のメモリではなくCPUのキャッシュメモリなのでしょうか?
お礼
複数回のご回答ありがとうございました。 確かに使っているクエリが色々なテーブルやクエリにリレーションを張っていたり、メモ型フィールドが多くあったりしています。 参考URLを見ながら、クエリを最適化していきたいと思います。 ありがとうございました。