Felmeddelandet "Index var utanför matrisens gränser" visas när du importerar data från flera tabeller i en SQL Server-databas till en Excel 2013-arbetsbok

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

Tänk dig följande scenario där du försöker importera data från en Microsoft SQL Server 2012-databas till en Microsoft Excel 2013 arbetsbok:

  • Du startar guiden Dataanslutning när du vill skapa en anslutning från SQL Server till arbetsboken.
  • Du väljer flera tabeller i databasen.
  • Du väljer hur du vill visa importerade data i arbetsboken. Du kan till exempel välja att skapa en tabell, en pivottabellrapport eller en pivotdiagram rapport.

I det här scenariot får du följande felmeddelande:

Det gick inte att hämta data från datamodellen. Här är felet vi fick: Indexet var utanför matrisens gränser.

Orsak

Det här problemet uppstår när ett av de markerade tabellnamnen slutar med en sträng som matchar ett schemanamn i databasen. Guiden Dataanslutning använder bara tabellnamnen i stället för de fullständigt kvalificerade tabellnamnen när du importerar data från flera tabeller.

Obs! Det här problemet uppstår inte när du importerar data från en enda tabell med hjälp av guiden Dataanslutning. I det här fallet använder guiden Dataanslutning det fullständigt kvalificerade tabellnamnet.

Lösning

Använd någon av följande metoder för att lösa problemet:

  • Använd guiden Dataanslutning om du vill importera data från en tabell i taget.
  • Kontrollera att inget av tabellnamnen slutar med en sträng som matchar ett schemanamn och importera sedan data från flera tabeller.
  • När du får felmeddelandet som nämns i avsnittet "Symptom" följer du dessa steg för att importera data från flera tabeller:
    1. Klicka Egenskaper i dialogrutan Importera data.
    2. Klicka på fliken Definition.
    3. I rutan Kommandotext ändrar du tabellnamnen till fullständigt kvalificerade tabellnamn med hjälp av följande format: Database.Schema.TableName