Próbuję wczytać plik CSV do datatable za pomocą oledb.Załaduj plik csv do biblioteki oleDB i wymuś wszystkie typy danych na łańcuchy znaków
To nie jest problem, ale niestety jedno z pól, które wygląda na liczbowy ma wartość ciągu w około 3% pól, więc nie jest wypełniane.
ponieważ im konwertuję CSV na xml naprawdę nie dbam o wnioskowanie typów danych i po prostu potrzebuję danych w łańcuchu, ponieważ mogę go później przesłać w fazie Linq2XMl.
Mam nadzieję, że będę mógł to zrobić w ciągu połączenia.
Nie chcę po prostu skopiować tabelę, ustawić go w nowe kolumny z typem danych chcę, a następnie zapisać dane do niego, bo to wiązałoby ładowania pliku csv dwukrotnie.
jakieś pomysły?
mój obecny ciąg połączenia jest
Provider = Microsoft.Jet.OLEDB.4.0; Data Source =”+ thefile.DirectoryName + "; właściwości rozszerzone = 'text; HDR = Yes; FMT = separatorami'"; ..
Przepraszamy za przeciąganie starego pytania, ale z pewnością ładuje to plik csv ** przed ** istnieje plik schema.ini i jako takie, wywołując LoadCSV ponownie ładujesz swój datatable z niepoprawnymi danymi? W końcu będziesz musiał wywoływać ponownie loadcsv, aby faktycznie używać wygenerowanego schematu schema.ini? – DannyT
Załaduj plik csv, aby utworzyć plik schematu, a następnie załaduj go ponownie, aby pobrać dane. Przejrzyj łącze do artykułu Microsoft o działaniu plików schematu.Tutaj kod jest po prostu fragmentami kluczowych części. –
to działa dla mnie. Dzięki. –