Jaa


"Indeksi oli matriisin rajojen ulkopuolella" -virhe, kun tuot tietoja useista SQL Server tietokannan taulukoista Excel 2013 -työkirjaan

Oireet

Harkitse seuraavaa skenaariota, jossa yrität tuoda tietoja Microsoft SQL Server 2012 -tietokannasta Microsoft Excel 2013 työkirjaan:

  • Kun käynnistät ohjatun tietoyhteyden muodostamisen, muodostat yhteyden SQL Server tietokannasta työkirjaan.
  • Valitset tietokannasta useita taulukoita.
  • Valitset, miten haluat tarkastella tuotuja tietoja työkirjassa. Voit esimerkiksi luoda taulukon, Pivot-taulukkoraportin tai Pivot-kaavioraportin.

Tässä skenaariossa näyttöön tulee seuraava virhesanoma:

Tietoja ei voitu noutaa tietomallista. Virhe: Indeksi oli matriisin rajojen ulkopuolella.

Syy

Tämä ongelma ilmenee, kun jokin valituista taulukon nimistä päättyy merkkijonoon, joka vastaa tietokannan rakenteen nimeä. Ohjattu tietoyhteyden muodostaminen käyttää vain taulukoiden nimiä täydellinenen taulukoiden nimien sijaan, kun tuot tietoja useista taulukoista.

Huomautus Tämä ongelma ei ilmene, kun käytät ohjattua tietoyhteyden muodostamista tietojen tuomiseen yhdestä taulukosta. Tässä tilanteessa ohjattu tietoyhteyden muodostaminen käyttää täydellistä taulukon nimeä.

Vaihtoehtoinen menetelmä

Voit kiertää tämän ongelman käyttämällä jotain seuraavista menetelmistä:

  • Ohjatun tietoyhteyden luomisen avulla voit tuoda tietoja yhdestä taulukosta kerrallaan.
  • Varmista, että minkään taulukon nimen lopussa ei ole rakennenimeä vastaavaa merkkijonoa, ja tuo sitten tietoja useista taulukoista.
  • Kun näyttöön tulee "Oireet"-osiossa mainittu virhesanoma, tuo tiedot useista taulukoista seuraavasti:
    1. Valitse Ominaisuudet Tuo tiedot -valintaikkunassa.
    2. Napsauta Määritelmä-välilehteä.
    3. Muuta Komentoteksti-ruudussa taulukoiden nimet täydellisiksi taulukon nimiksi seuraavassa muodossa: Database.Schema.TableName