Windows 10 version1903に更新した後のMicrosoftアクセスでのエラー3035
Windows 10
ver 1903に更新した後、異なるversionのAccess、少なくともversion13とversion16のMS Accessを使用する複数のPCでms 30ミリ秒のアクセスエラーが発生します.私はキャッシュ設定や
レジストリWorkingSetSleepおよびDAO.DBEngine.SetOption dbMaxLocksPerFile、1000000を追加します.
成功した唯一の考えは、1プロセッサへのアフィニティを減らすことです.これは問題のある回避策のようですので、もっと良い修正をお願いします.
テストマシンで、すべての更新がWindowsとOffice 365の両方に適用されることを確認しました.
Windows 10
上にあるが、ver 1903にアップデートされていない他のマシンでは、この問題は発生していません.
任意の提案.
返信リスト(回答:6)
説明から、問題はWindows 10
オペレーティングシステムのversionを1903にアップデートした後にのみ発生するようです.アップデートする場合、オペレーティングシステムのversionに根本的な原因がある可能性があります.アクセスの問題を引き起こし、関与する
チェックに関するリソース.Windowsのカテゴリに新しいスレッドを投稿して、さらにヘルプを求めることをお勧めします.
その間、参照用にここに提供できるいくつかの方法があります.
1.ローカルユーザープロファイルを変更してコンピューターにログインし、テストを行って結果を確認します.
2.[コントロールパネル]>[プログラム]>[OfficeApplication]アイコンを右クリックして[変更]>[オンライン修復を実行]を選択し、コンピューターを再起動してテストを行って結果を確認します.
さらに、[ファイル]>[フィードバック]をクリックして問題を関連チームに直接報告し、問題を認識して、問題のさらなる調査にいくつかのリソースを含めることをお勧めします.
応答1# ->にスキップ2 #AJAACステップ1を試すつもりでしたが、ステップ2はすでに実行されていましたが、これはさまざまなversionのAccessで発生します.
最初にテストシステムをセットアップしたかったのですが、テストアプリをセットアップした後、エラーを再度発生させることができませんでした.何が変わったのかわかりませんが、元のversionでも問題なく動作しています.
チェックしましたが、MS Access 2013を搭載したPCでもエラーが発生しますが、ランダムにテストすることはできません.他の約18台のPC、この問題は発生していません.これらのノートはまだ
Windows 10
ver 1903にありますが、自動で取得されるはずです.
すぐにそのversionに更新されます.現時点では、アフィニティを1プロセッサに変更すると問題が修正されるように見えるため、起動時にアフィニティを1プロセッサに自動的に設定するようにアプリを変更しました.しばらくそのままにしておきます.うまくいけば、マイクロソフトがリリースされる
近い将来この問題を解決する1903へのアップデート.√
応答2# ->にスキップ3 #CliffGuご返信いただきありがとうございます.お客様の環境の現在の状況をお知らせください.
Access 2016のパソコンで問題が解消されたとのこと、嬉しく思います.Access 2013のコンピューターで引き続きいくつかの問題が発生するため、Office 2013カテゴリーに新しいスレッドを投稿して、エンジニアができるかどうかを確認することをお勧めします
Access 2013の問題を解決するためのいくつかの提案を共有します.その間、[ファイル]>[フィードバック]をクリックして問題を関連チームに直接報告することをお勧めします.そうすることで、問題を認識し、さらなる調査にいくつかのリソースを含めることができます.
問題.
応答4# ->にスキップ5 #AJAAC私はインターネット上のいくつかのコードを見つけ、それを私のApplicationに適応させました.
スプラッシュ画面にSetaFinity()を呼び出します.コードを下のコードを提供します
これは私たちの問題を助けました、しかし彼らはまだ続いています.私はついにバックエンドをSQL Serverに変換し、これはより恒久的な解決策のようです.
SetAphinityModule:
オプション比較データベース
オプション明示
'プロセッサ数が4コアを超えると、システムリソースが超過したエラー3035にこのコードを使用します.
'このコードはMSアクセスを実行しているコアの数を設定するために使用され、以前は古いversionの他の問題に使用されていましたSO MS Access
'' '' Access 2010 Compact&Repair Drops Indexsのincestes incessesのincesses "
に返信したDENNIS WIからのコード 開発者フォーラムのMicrosoft Officeの'>開発者向けのアクセスフォーラム
'https://social.msdn.microsoft.com/forums/office/ja_4a7b-b5f8-bc4c26854164/BC4C26854164/ACCESS-2010-Compact-repair-Drops-Indexes?Forum= AccessDev
関数getProcessaffinityMask lib "kernel32.dll"(長い間、byref dwprocessaffinitymask、byref dwprocessaffityMask、byref dwsystemafinitymask)boolean
関数setProcessAphinityMask lib "kernel32.dll"(長く、byval hprocess、byval hprocess、byval dwprocessAphinityMaskを長い)としてboolean
関数getCurrentProcess lib "kernel32.dll"()
サブgetSysteminfo lib "kernel32"(lpsysteminfoとしてsystem_info)
type system_info
' リンク:getTheProcessorTypeAndNumberOfProcessors.
Dwoemid
DWPAGESIZE
LPMINIMIMAPPL化address
LPMAXIMUSAPPLIZATADDRESS
DwActiveProcessorMask
DWNUMBEROFPROCESSORS LONG
DWProcessorType
DWAllockingfranuly
DWRESTERVER
end type 'system_info
公開機能設定値()
'msaccess.exeのこのインスタンスのプロセッサの親和性を設定します.
'マルチコア
を実行しているwindows 7
コンピュータの4 CPUへのアクセスを制限するのに役立ち、MS Access 2016Windows 10
コンピュータ'「システムリソースを超えた」エラーを避けるために
'MS 2019のMS 2019エラーのMAXを設定するように変更されたコードを修正しました
'' '' Access 2010 Compact&Repair Drops Indexsのincestes incessesのincesses "
に返信したDENNIS WIからのコード 開発者フォーラムのMicrosoft Officeの'>開発者向けのアクセスフォーラム
'https://social.msdn.microsoft.com/forums/office/ja_4a7b-b5f8-bc4c26854164/BC4C26854164/ACCESS-2010-Compact-repair-Drops-Indexes?Forum= AccessDev
'(9/17/2019)MS Access 2019システムリソースを超えたエラーを超えたajaacによってさらに修正されたコード.
エラー後見NECERRHND
Dim PrintMeとして文字列として:printme= "setaffinity" ':debug.print printme
薄暗いエラーループ
DIM TRIGGERNUMPROCESSORSとして、MAXAFINITYMASKとして整数
TRIGGERNUMPROCESSORS= 4
'MaxAffinityMask=(2 ^ TriggernumProcessors)-1
MaxAffinityMask= 2 'MS 2019は2コアで動作しますが、それでも2コアの3050を取得してはいけません.
'コンピュータが4つ以上のコアを持っている場合にのみ親和性を変更します.
ErrorreEntry:
getNumProcessors>TriggernumProcessors
薄暗い
DIM DWPROCMASK
DIM DWSYSMASK
hret= getProcessaffinityMask(getCurrentProcess()、DWProcMask、DWSySmask)
dwprocmask>maxaffinitymask
'必要なプロセッサ数に親和性を設定します.
HRET= SetProcessAphinityMask(getCurrentProcess()、MaxAffinityMask)
hret= 0の場合
debug.print "Process Affinityが"&MaxAffinityMask&"に設定されました."
else
'はエラー0で頻繁に誤ってエラーが発生し、続けるかどうかを確認するには1回ループします.
errorloop= errorloop + 1
ErrorLoop>2の場合
MSGBOX( "エラー:"&err.lastdllerror&vbcrlf&printme、vbokonly + vbapplicationModal + VBMSGBoxSetForeground)
else
Goto ErrorreEntry
の場合終了 の場合終了 の場合終了 の場合終了出口:
出口関数
NECERRHND:
DIM ERRMSGとしての文字列として:errmsg= printme&":error#"&err.number&":"&err.description
ケースERR.NUMBER
'2001:前の操作をキャンセルしました.
ケース2001
debug.print errmsg
Goto Exitme
ケース
debug.print errmsg
呼び出しMSGBOX(errmsg、vbokonly + vbapplicationModal + VBMSGBoxSetForeground)
終了
エンド機能 'SetAphinity
関数getNumProcessors()整数
'このマシンのプロセッサ数を返します.
のコードに基づく' リンク:getTheProcessorTypeAndNumberOfProcessors.
DIM LPSYSINFO SYSTEM_INFO
GetSystemInfo LpsysInfo
getNumProcessors= lpsysinfo.dwnumberofprocessors
エンド機能 'getNumprocessors
関連質問
- BitLockerコードの援助
- ネットワーク共有コピー上のMSアクセスへの変更は、ローカルコンピュータにコピーされたときの変更を失います.
- MS Accessのテキストへのスピーチ
- Microsoft Office 365でMicrosoft Office 10で作成したファイルをどのように開くのですか?
- どのフォーム/サブフォームが開いているかに応じて変数を変更する
- キーワットイベントキーワード検索に関するスペースを受け入れない
- Access 2019フォームの下部にあるレコードナビゲーションバー
- アクセスエラーコード3734 "データベースは、それが開かれたりロックされたりするのを防ぐために、マシン上のユーザー 'admin'によって状態に置かれました.
- データベースパスワードを要求しているMicrosoft Access
- トピックアクセスに滞在できますか?