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.
Kővári Attila - BI projekt
Új hozzászólás