Problem när du hämtar SharePoint data i Access
Anteckning
Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.
Symptom
När du begär data från Microsoft SharePoint-listor i Microsoft Access kan du få något av följande felmeddelanden:
- Det uppstod fel när massfrågan skulle köras eller data skickades till servern. Återanslut tabellerna för att lösa konflikterna eller ta bort de väntande ändringarna.
- Alla SharePoint frånkopplade.
- Det går inte att uppdatera. Databasen eller objektet är skrivskyddat.
- The Microsoft Office Access database engine could not find the object ' <linked table name> '. Kontrollera att objektet finns och att du stavar dess namn och sökvägens namn korrekt.
- Länkad tabell <linked table name> ' är inte tillgänglig. Microsoft Access kan inte kontakta servern. Kontrollera nätverksanslutningen eller kontakta serveradministratören.
- Du har inte nödvändiga behörigheter för att använda <linked table name> '-objektet. Be systemadministratören eller personen som skapade objektet att ange rätt behörigheter för dig.
Eller så kan du uppleva något av följande problem:
- Access avslutas oväntat eller kraschar när du försöker öppna en länkad tabell.
- Access visas som låst när du försöker öppna en länkad tabell.
Orsak
När Access begär listobjekt från en SharePoint ändlig tid väntar Access på att dessa data ska returneras. Mer specifikt – om Access inte får data för den angivna batchen efter 30 sekunder avbryts begäran och batchen kan skickas igen som en ny begäran. Om Access stöter på fel när du skickar sådana batchar kan programmet ge upp och returnera ett felmeddelande.
Här är några villkor som kan orsaka problemet:
- Det är ett problem med hälsotillståndet Microsoft SharePoint Server t.ex. att den går långsamt.
- Du har en anslutning med låg bandbredd.
- Du har en stor eller komplex SharePoint lista eller ett dokumentbibliotek.
- Det är långt avstånd mellan dig och servern.
- Det finns fler än 255 kolumner SharePoint dokumentlistan eller dokumentbiblioteket.
- Du begränsas när du använder SharePoint Online. Mer information om begränsning i SharePoint Online finns i Undvik begränsningar eller blockeringar i SharePoint Online.
Lösning
Lös problemet med någon av följande metoder:
Metod 1: Minska svarstiden genom att undvika de villkor som kan orsaka problemen.
Metod 2: Minska mängden data som begärs från servern genom att använda en vy i SharePoint och sedan länka Access till den vyn.
Detaljerad information om hur du skapar en länkad tabell som använder SharePoint finns i Importera makroinstruktionenSharePointLista.
Metod 3: Öka tidsgränsen i Access genom att lägga till registerposten DataFetchTimeout
Viktigt
Det här avsnittet, metoden eller uppgiften innehåller steg som beskriver hur du ändrar registret. Det kan uppstå allvarliga problem om du gör detta felaktigt. Följ därför instruktionerna noga, och säkerhetskopiera registret innan du gör några ändringar i det. Då kan du återställa registret om det uppstår problem. Mer information om hur du ska bakåt i och återställa registret finns i Återställning och återställning av registret i Windows.
Anteckning
Registerposten DataFetchTimeout tillämpades ursprungligen bara på läsbegäranden när Access synkroniserar cachelagrade data med SharePoint datalistan. Från och med Access 2016 Klicka-och-kör-versionerna 16.0.9215.5830 gäller den här registerposten även för åtgärderna Infoga, Uppdatera och Ta bort.
Lägga till registerposten DataFetchTimeout i Access 2010
Använd följande snabbkorrigeringspaket:
Beskrivning av snabbkorrigeringspaketet för Access 2010 (Stslist-x-none.msp): 28 juni 2011
Öppna Registereditorn och leta reda på och markera följande registerundernyckel:
För 32-bitars access på 32-bitars Windows eller 64-bitars Access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\EnginesFör 32-bitars access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access Connectivity Engine\EnginesPeka på Nytt i Redigera-menyn och klicka sedan på DWORD-värde.
Skriv DataFetchTimeout och tryck sedan på Retur.
Högerklicka på DataFetchTimeout och klicka sedan på Ändra.
Välj Decimal i bas och skriv 90000 i rutan Värdedata och klicka sedan på OK.
Om värdet inte löser problemet kan du prova med ett större värde. DataFetchTimeout finns i millisekunder.
Avsluta Registereditorn.
Lägga till registerposten DataFetchTimeout i Access 2013
Öppna Registereditorn och leta reda på och markera följande registerundernyckel:
För 32-bitars access på 32-bitars Windows eller 64-bitars Access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\EnginesFör 32-bitars access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Access Connectivity Engine\EnginesPeka på Nytt i Redigera-menyn och klicka sedan på DWORD-värde.
Skriv DataFetchTimeout och tryck sedan på Retur.
Högerklicka på DataFetchTimeout och klicka sedan på Ändra.
Välj Decimal i bas och skriv 90000 i rutan Värdedata och klicka sedan på OK.
Om värdet inte löser problemet kan du prova med ett större värde. DataFetchTimeout finns i millisekunder.
Avsluta Registereditorn.
Lägg till registerposten DataFetchTimeout i Access 2016
Öppna Registereditorn och leta reda på och markera följande registerundernyckel:
För MSI-installation av Access
För 32-bitars access på 32-bitars Windows eller 64-bitars Access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\EnginesFör 32-bitars access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\EnginesKlicka-och-kör-installation av Access
För 32-bitars access på 32-bitars Windows eller 64-bitars Access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Access Connectivity Engine\EnginesFör 32-bitars access på 64-bitars Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines
Peka på Nytt i Redigera-menyn och klicka sedan på DWORD-värde.
Skriv DataFetchTimeout och tryck sedan på Retur.
Högerklicka på DataFetchTimeout och klicka sedan på Ändra.
Välj Decimal i bas och skriv 90000 i rutan Värdedata och klicka sedan på OK.
Om värdet inte löser problemet kan du prova med ett större värde. DataFetchTimeout finns i millisekunder.
Avsluta Registereditorn.