Beolvasás azonos dátum szerint
2014-07-23T13:57:14+02:00
2014-08-07T11:06:15+02:00
2022-07-18T20:21:23+02:00
anclung
Van egy csv fájlom, melyben dátum-érték párok vannak, ilyen formátumban:

2014-05-06 00:00:00.000,14
2013-05-09 11:30:00.000,27
2013-05-09 11:30:00.000,15
stb.

Van egy adatbázistáblám (table)  date, és value mezőkkel.
Milyen sql-le tudnám importálni az adatokat, ha tudom, hogy a csv-ben egy dátum többször is előfordulhat, de azt szeretném, hogy az adatbázisban már egy dátum csak egyszer szerepeljen, viszont az ezen dátumhoz tartozó értékek összeadódjanak?
Mutasd a teljes hozzászólást!
Pedig odairta elég részletesen, mi a baja.
Nézd meg az első sort, biztos nem adat van benne, hanem az oszlopok fejléce.
Mutasd a teljes hozzászólást!

  • bulkcopy-val beolvasod egy #table táblába.
    aztán irsz egy ehhez hasonlót:

    select date, sum(value) from #table group by date

    És az eredményét beleteszed a tábládba.
    Mutasd a teljes hozzászólást!
  • Megcsináltam a bulk insertet így:

    BULK INSERT dbo.Table_1 FROM 'D:\data.csv'
     WITH
    (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')

    Az adatokat be is olvasta, kivéve az első sort. Egy ilyen hibát jelzett az MSSQL:

    Msg 4864, Level 16, State 1, Line 1
    Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (date).

    Ez akkor is megtörténik, ha a a FIRSTROW = 1-et megadom.

    Nem tudod ez miért lehet?
    Mutasd a teljes hozzászólást!
  • Pedig odairta elég részletesen, mi a baja.
    Nézd meg az első sort, biztos nem adat van benne, hanem az oszlopok fejléce.
    Mutasd a teljes hozzászólást!
  • Én is valami fejléc problémára vagy valamilyen felesleges karakterre gyanakodtam/gyanakszom, de az a fura, hogy nincs fejléc, és semmilyen egyéb hibás karakter. Többször ellenőriztem.
    A csv fájl minden sora ugyanolyan.

    Végül is így is elboldogulok, mert az az egy sor nem számít, csak nem értem a dolgot.
    Mindenesetre köszönöm a segítségedet.
    Mutasd a teljes hozzászólást!
  • Ha a csv utf8 kódolású, akkor a BOM lesz a ludas. Ha egy-egy ilyen fájlról van csak szó, akkor akár a notepad++ is segíthet átalakítani bom nélkülivé.
    Mutasd a teljes hozzászólást!
abcd