Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Текстът е съкратен или един или повече знаци не са съвпадали в целевата кодова страница при импортиране от Excel файл

Предполагам, че се опитвате да импортирате това с помощта на Excel Source в диалоговия прозорец на SSIS?

Ако е така, проблемът вероятно е, че SSIS взема проби от определен брой редове в началото на вашата електронна таблица, когато създава източника на Excel. Ако в колоната [ShortDescription] не забележи нищо твърде голямо, по подразбиране ще се използва текстова колона от 255 знака.

Така че за импортиране на данни от колона, която съдържа редове с големи количества данни без отрязване, има две опции:

  1. Трябва да се уверите, че колоната [ShortDescription] в поне един от избраните редове съдържа стойност, по-дълга от 255 знака. Един от начините да направите това е да използвате функцията REPT(), напр. =REPT('z', 4000), което ще създаде низ от 4000 от буквата 'z'.
  2. Трябва да увеличите броя на редовете, взети от драйвера на Jet Excel, за да включите такъв ред. Можете да увеличите броя на избраните редове, като увеличите стойността на TypeGuessRows под HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel (или ако системата ви е x64, тогава под HKEY_LOCAL_MACHINE\SOFTWARE\wow6432node\Microsoft\Jet\4.0\Engines\Excel )ключ на регистъра.

Можете да видите повече информация на тези две връзки:

За по-нататъшно обяснение, SSIS създава 3 обекта зад кулисите на съветника, обект на източник на данни в Excel, целеви обект на SQL таблица и оператор на поток от данни между тях. Изходният обект на Excel дефинира изходните данни и съществува независимо от другите два обекта. Така че, когато се създаде, извадката, която описах, е направена и размерът на изходната колона е зададен. Така че докато операторът на потока от данни се изпълни и се опита да изтегли данните от excel, за да ги постави във вашата таблица, той вече разглежда източник на данни, който е ограничен до 255 знака.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Измервате ли производителността на SQL Server с тези показатели?

  2. 5 бързи полезни съвети за SQL Server Производствени администраторите на бази данни

  3. Грешка при импортиране при използване на Openrowset

  4. MAX срещу Топ 1 - кое е по-добро?

  5. SQL Server 2008 не може да премахне ограничението