sql >> Databasteknik >  >> RDS >> Sqlserver

Texten var trunkerad eller ett eller flera tecken matchade inte målkodsidan vid import från Excel-fil

Jag antar att du försöker importera detta med en Excel-källa i SSIS-dialogrutan?

Om så är fallet är problemet förmodligen att SSIS samplar ett visst antal rader i början av ditt kalkylark när det skapar Excel-källan. Om det i kolumnen [ShortDescription] inte märker något för stort, kommer den som standard att ha en textkolumn på 255 tecken.

Så för att importera data från en kolumn som innehåller rader med stora mängder data utan trunkering, finns det två alternativ:

  1. Du måste se till att kolumnen [ShortDescription] i minst en av de samplade raderna innehåller ett värde som är längre än 255 tecken. Ett sätt att göra detta är att använda REPT()-funktionen, t.ex. =REPT('z', 4000), vilket skapar en sträng på 4000 av bokstaven 'z'.
  2. Du måste öka antalet rader som samplades av Jet Excel-drivrutinen för att inkludera en sådan rad. Du kan öka antalet samplade rader genom att öka värdet på TypeGuessRows under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel (om ditt system är x64 då under HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Jet\4.0\Engines\Excel )registernyckel.

Du kan se mer information på dessa två länkar:

För att ytterligare förklara skapar SSIS 3 objekt bakom kulisserna i guiden, ett Excel-datakällobjekt, ett SQL-tabelldestinationsobjekt och en dataflödesoperator mellan dem. Excel-källobjektet definierar källdata och existerar oberoende av de andra två objekten. Så när den har skapats görs provtagningen som jag beskrev och storleken på källkolumnen är inställd. Så när dataflödesoperatören kör och försöker hämta data från Excel för att lägga in i din tabell, tittar den redan på en datakälla som är begränsad till 255 tecken.



  1. PHP PDO infoga flera (10000+) samma rader med bindParam. Bra övning?

  2. Finns det någon skillnad mellan surrogatnyckel, syntetisk nyckel och artificiell nyckel?

  3. Hur kör man en MYSQL-fråga på en fördefinierad fast tid?

  4. Hur man går med i arrayer med MySQL från 3 tabeller med många-till-många-relationer