Miért importál NULL sorokat a DTS az Excelből?


Adott egy Excel táblám, annak néhány celláját nem olvassa be a DTS az adattárházba (null értékekkel tölti fel a táblát). Pedig az adattal minden rendben, már a cellákat is újra formáztam, és csak nem akarja beolvasni a DTS az adott cella adatát.

Amikor a DTS-sel importáljuk az adatokat Excelből, a driver megpróbálja megállapítani annak  adattípusát. Ezt úgy teszi, hogy mintát vesz az Excelben tárolt adatokból és ez alapján megpróbálja eldönteni, hogy például az adott oszlop numerikus vagy szöveges adat-e. Ha mintája csak számokat tartalmaz, akkor nem fogja beolvasni a szöveget, helyette NULL értékkel tölti fel a táblát. (hiába formázzuk át az oszlopot szöveg típusúvá, nem veszi figyelembe)

Megoldás:

A legegyszerűbb megoldás, hogy nyitunk egy új Excelt, és annak munkalapjára beszúrjuk az eredeti táblánk adatait unicode text-ként (paste special), vagy átformázzuk az oszlopot, és újra begépeljük a be nem olvasott cellák tartalmát.

És ha a fenti megoldások nem kielégítők, akkor marad a "registry matatás" Erről az SQLDTS.com-on  olvashatunk bővebben, vagy keressünk rá az ImportMixedTypes kulcsszóra az interneten.

Elválasztó

Már készül a következő cikk. Kérjen értesítést a megjelenéséről itt.

|