Portál AbcLinuxu, 26. dubna 2024 08:54


Dotaz: Je nějaké open source propojení heterogeních systémů?

15.5.2008 18:31 Ladislav Nešněra | skóre: 30 | blog: ..+2
Je nějaké open source propojení heterogeních systémů?
Přečteno: 772×
Odpovědět | Admin
Pátrám po něčem obdobném, jako je DB2 Connect. Nevíte náhodou o něčem takovém? Je něco takového vůbec reálné (z patentového/licenčního hlediska)?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

pavlix avatar 16.6.2008 02:21 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
Odpovědět | | Sbalit | Link | Blokovat | Admin
dbi-link pro postgresql?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
15.8.2008 15:45 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
díky za typ. Ten projekt mi ale moc živý nepřijde. No, uvidím ;-)
pavlix avatar 15.8.2008 16:11 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
Nevím nesleduju, v únoru jsem se o tom bavil s člověkem, co na tom tuším nějak dělal (David Fetter).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
default avatar 18.8.2008 10:14 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
Já jsem s ním udělal workaround na neexistující autonomní transakce. Problém nebyl. Snad jen v neexistenci dokumentace, ale ty zdrojáče jsou natolik jednoduché, že to šlo vykoukat přímo z nich. Funguje to a nebál bych se toho. Ale je pravda, že jsem se tím připojoval jen do PostgreSQL, takže netuším, jak je to s podporou cizích databází…
19.8.2008 22:30 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
to zní povzbudivě, jen doufám, že mě z těch jednoduchých zdrojáků nechytne depka :-D
default avatar 19.8.2008 23:16 default | skóre: 22 | Madrid
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?
Neboj. Dal jsem to za asi tři hodiny po dvou až třech dvojitejch panácích vodky na lačno. :-D

Tady je malá ukázka:
CREATE FUNCTION _log_message(
                             l_group product.logs.log_group%TYPE,
                             l_severity product.logs.log_severity%TYPE,
                             l_user_id product.logs.log_user_id%TYPE,
                             l_action product.logs.log_action%TYPE,
                             l_description product.logs.log_description%TYPE,
                             l_args product.logs.log_args%TYPE
                            ) RETURNS product.logs.log_id%TYPE AS $_$
DECLARE
    new_log_id product.logs.log_id%TYPE;
BEGIN
    INSERT INTO product.logs (log_id, log_group, log_time, log_severity, log_user_id, log_action, log_description, log_args)
        VALUES (NEXTVAL('product.sq_log_id'), l_group, NOW(), l_severity, l_user_id, l_action, l_description, l_args)
        RETURNING
            log_id
        INTO
            new_log_id;
    
    RETURN new_log_id;
END;
$_$ LANGUAGE 'plpgsql';


CREATE FUNCTION log_message(
                            l_group product.logs.log_group%TYPE,
                            l_severity product.logs.log_severity%TYPE,
                            l_user_id product.logs.log_user_id%TYPE,
                            l_action product.logs.log_action%TYPE,
                            l_description product.logs.log_description%TYPE,
                            l_args product.logs.log_args%TYPE
                           ) RETURNS product.logs.log_id%TYPE AS $_$
DECLARE
    new_log_id product.logs.log_id%TYPE;
BEGIN
    SELECT
        log_id
    INTO
        new_log_id
    FROM
        product.dblink(
                       'dbname=product user=logger',
                       'SELECT product._log_message('
                                                     || l_group || ', '
                                                     || product.quote_string(l_severity) || ', '
                                                     || l_user_id || ', '
                                                     || product.quote_string(l_action) || ', '
                                                     || product.quote_string(l_description) || ', '
                                                     || product.chararray_to_string(l_args)
                                               || ');'
                      ) AS t1(log_id BIGINT);
    
    RETURN new_log_id;
END;
$_$ LANGUAGE 'plpgsql';
Jedná se o logování v "autonomní" transakci. Prostě veškerá logika používá funkci log_message() a ta přes dblink volá proceduru _log_message() ve stejném schématu, ale v nezávislé transakci.

To jenom abych nevypadal jako chytrej vožrala, kterej dává dblink, když je na mol. Celý schéma je samozřejmě složitější. Tohle je jen ukázka; nechtělo se mi to obfuskovat celý :-D A teď mě omluvte. Mám cosi neodkladného… :-D
21.8.2008 09:21 Ladislav Nešněra | skóre: 30 | blog: ..+2
Rozbalit Rozbalit vše Re: Je nějaké open source propojení heterogeních systémů?

Kdo to říkal? Já to říkal! Depka! :-D

Ještě jednou díky, už se těším, až se na to budu moct vrhnout..

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.