abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:11 | Bezpečnostní upozornění

    V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.

    Ladislav Hagara | Komentářů: 2
    včera 13:55 | IT novinky

    Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží

    … více »
    Ladislav Hagara | Komentářů: 6
    včera 12:11 | Nová verze

    Byla vydána verze 1.97.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | IT novinky

    Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.

    Ladislav Hagara | Komentářů: 17
    včera 04:44 | Nová verze

    TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.

    Ladislav Hagara | Komentářů: 0
    9.7. 17:00 | IT novinky

    Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala

    … více »
    Ladislav Hagara | Komentářů: 12
    9.7. 04:44 | Bezpečnostní upozornění

    Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.

    Ladislav Hagara | Komentářů: 0
    9.7. 04:22 | Komunita

    Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za červen 2026. Vypíchnuta je vylepšená podpora Waylandu. Už není považována za experimentální. V příští verzi Linux Mintu, plánována je na Vánoce, bude běh Cinnamonu plně podporován na X11 i Waylandu. V květnu na vývoj Linux Mintu přispělo 611 dárců celkovou částkou 19 612 dolarů. Dalších 2 326 patronů přispělo na Patreonu celkovou částkou 5 334 dolarů.

    Ladislav Hagara | Komentářů: 4
    9.7. 04:00 | Bezpečnostní upozornění

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Januscape aneb CVE-2026-53359. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala téměř 16 let (od srpna 2010 do června 2026).

    Ladislav Hagara | Komentářů: 0
    8.7. 19:44 | IT novinky

    Tribunál Soudního dvora Evropské unie dnes zamítl několik žalob, v nichž se americká společnost Apple ohrazovala proti pravidlům fungování velkých technologických společností na unijním trhu. Applu se nelíbilo, že jeho obchod s aplikacemi a operační systém iOS mají podléhat přísnějším povinnostem jen proto, že Brusel firmu považuje za takzvaného gatekeepera, tedy strážce přístupu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (16%)
     (25%)
    Celkem 2090 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: SQL - import csv, rozparsovani a vložení do tabulky

    24.6.2016 12:38 MrMrkev
    SQL - import csv, rozparsovani a vložení do tabulky
    Přečteno: 929×
    Příloha:
    Dobrý den všem, mám problém s vyřešením jednoho prac. úkolu. Díky tomu, že se v tom nepohybuji a je to jen jednorázový úkol, který je potřeba v brzkém čase vyřešit, tak se obracím na Vás. Jedná se o toto: 1.: Vytvořit web. službu (proceduru), která dovolí nahrát soubor ve formátu .csv. („připravené“) 2.: Dále vytvořit další (navazující) proceduru, která po nahrání daného .csv, toto csv rozparsuje (vždy stejná struktura) a vloží do připravené tabulky na serveru. Věřím, že se pro se bude jednat o banalitu. Bohužel se teprve rozkoukávám a rychlé splácání je nutné. Předem Vám děkuji za případnou pomoc, plavu v tom a potřebuji pracovat na jiných věcech. Jedná se mi hlavně o to rozparsování.

    1.: viz. příloha...

    2.: Zde jsem ztracen a nevím, jak tuto proceduru uchopit... Našel jsem si např. toto: https://slobaray.com/2014/05/28/loading-csv-files-into-oracle-tables-using-plsql/ , ale o moc moudřejší nejsem.

    Struktura .csv, vždy bude: ID (varchar2 – díky číselné řadě a písmennému označení); DatumPočátku (date – zde by měla být i kontrola na validnost data); DatumKonce (date) – data prozatím null * možná se ani vyplňovat nebudou; DatumVložení (date – aktuální datum); Poznámka (varchar2). Vše odděleno „;“

    Ještě jednou děkuji za případnou pomoc.

    Odpovědi

    xxxxxx avatar 24.6.2016 13:05 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    A co python? To by stačil csv reader, na datum modul time nebo datetime, a na DB asi cx_Oracle (s Oracle zkušenosti nemám, ale vypadá to použitelně). Celý skript by se pak mohl vejít do sta řádků.
    24.6.2016 13:35 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    Tak moc? V PHP je to tak na 10 řádek, v Pythonu by se do toho měl vejít také.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    xxxxxx avatar 24.6.2016 14:15 xxxxxx | skóre: 23
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    Tak tazatel psal ještě o kontrole dat, k tomu nějaké ošetření, co vlastně přečte ze souboru, nějaká try-except konstrukce při připojování k db a ono to nad 10 řádků naroste. Ale jinak souhlas, že ten úplný základ by kolem těch 10 mohl být.
    24.6.2016 14:38 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    Aha, to bude tím. Jsem zvyklý na to, že si databáze data zvaliduje sama. V Oracle to možná bude jiné.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    24.6.2016 13:36 MrMrkev
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    Děkuji, zkusím se na to mrknout.
    25.6.2016 07:28 jekub
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky
    Doporucil bych vasi pozornosti external tables (http://docs.oracle.com/cd/B19306_01/server.102/b14215/et_concepts.htm). Pouzivam v praxi k pristupu dokonce i k binarnim datum.
    1.7.2016 01:23 Tomáš
    Rozbalit Rozbalit vše Re: SQL - import csv, rozparsovani a vložení do tabulky

    Oracle dodává nástroj sqlcl. Ten umí nahrávat CSV. Příklad zde. Program sqlcl je napsán v Javě, tak by jej možná šlo přímo použít ve WS.

    Parsovat CSV v PL/SQL bude IMHO hodně zbytečné práce.

    Osobně tyto věci kóduji v Ruby. Vypadalo by to asi takto:

    #!/bin/ruby
    require 'oci8'
    require 'csv'
    con=OCI8.new('user','password','DB')
    cmd=con.parse("insert into MyTable values ( :jedna, :dva, :tri, :ctyri, :pet )" )
    CSV.foreach('file.csv') { |r| cmd.exec(*r) }
    

    Pokud budte plnit něco jiného než stringy,tak je nutné udělat explicitní bind:

    cmd.bind_param(:jedna, r[0], String )
    m=r[1].match /(?<den>\d\d).(?<mesic>\d\d).(?<rok>\d\d\d\d)/
    cmd.bind_param(:dva, OraDate(m[:rok],m[:mesic],m[:den]), OraDate )
    

    nebo udělat přetypování v prepared statementu

    cmd=con.parse("insert into MyTable values ( :jedna, to_date(:dva,'DD.MM.YYYY'), :tri, :ctyri, :pet )" )
    

    Vše nakódováno po paměti bez testování,tak tam budou chybky.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.