Move_data

c/c++pascal

BOOL Move_data(cdp_t cdp, tobjnum move_descr_obj, const char * inpname, tobjnum inpobj, const char * outname, int inpformat, int outformat, int inpcode, int outcode, BOOL silent);
function Move_data(cdp : cdp_t; move_descr_obj : tobjnum; inpname : PChar; inpobj : tobjnum; outname : PChar; inpformat, outformat, inpcode, outcode: Integer; silent : Boolean) : Boolean;

Parametry

move_descr_obj implicitní návrh přenosu
inpname jméno vstupního souboru, tabulky nebo dotazu
inpobj číslo otevřeného kurzoru nebo objektu ve 602SQL
outname jméno výstupního souboru, tabulky nebo dotazu
inpformat vstupní formát dat
outformat výstupní formát dat
inpcode kódování češtiny ve vstupním souboru
outcode kódování češtiny ve výstupním souboru
silent určení, zda se mají generovat chybová hlášení na obrazovku.
cdp kontextová proměnná klienta

Od verze:

5.0, změna kódování ve verzi 9.0

Popis

Funkce Move_data provádí přenos dat. Lze jí nahradit všechny předchozí funkce pro exporty a importy dat. Od verze 9.5 existuje ještě obecnější funkce Data_transport, která zahrnuje i ODBC přenosy.

Pokud move_descr_obj je -1, pak se vytvoří implicitní návrh přenosu na základě ostatních parametrů, jinak se přečte návrh přenosu z databáze a pozmění se podle hodnot ostatních parametrů. Číslo popisu lze získat funkcí Find_object.

Zdroj a cíl dat jsou popsány svým formátem (inpformat, outformat), a podle svého formátu (v parametrech inpname, outname) také jménem souboru (např. FAKTURY.DBF, PENALE.CSV apod. ) nebo jménem tabulky či dotazu, případně číslem otevřeného kurzoru nebo objektu ve 602SQL (inpobj). Kódováním češtiny ve vstupním a výstupním souboru se zadá v parametrech inpcode a outcode. Data uložená v databázi mají vždy kód 0. Pokud některý parametr nechcete zadat, uveďte pro číselný parametr hodnotu -1, pro řetězcový parametr prázdný řetězec.

Parametr silent říká, zda se mají generovat chybová hlášení na obrazovku, včetně varování při přepsání již existujícího souboru (silent=TRUE) či nikoliv (silent=FALSE).

Soubor, z něhož se mají číst (nebo do něhož se mají zapisovat) data nesmí být jiným procesem otevřen.

Je-li tato funkce zavolána uvnitř transakce, bude tato transakce ukončena. Efekt funkce nelze odvolat pomocí Roll_back.

Přenos dat lze nastavovat i ručně pomocí návrháře přenosů.

Formát se zadává těmito konstantami:

IMPEXP_FORMAT_WINBASE 0 soubor ve vnitřním formátu 602SQL (TDT)
IMPEXP_FORMAT_TEXT_COLUMNS 1 textový soubor ve sloupcovém formátu
IMPEXP_FORMAT_TEXT_CSV 2 textový soubor ve formátu CSV
IMPEXP_FORMAT_DBASE 3 soubor ve formátu dBase IV (DBF)
IMPEXP_FORMAT_FOXPRO 4 soubor ve formátu FoxPro 2.0 (DBF)
IMPEXP_FORMAT_CURSOR 6 pevný kurzor ve 602SQL (pouze pro vstup)
IMPEXP_FORMAT_TABLE 10 tabulka ve 602SQL (pro vstup také proměnný kurzor)
IMPEXP_FORMAT_TABLE_REIND 11 tabulka ve 602SQL, indexy se mění až po přenosu

Při exportu z proměnného kurzoru (10) lze použít pouze vnitřní formát 602SQL (0).

Při importu z vnitřního formátu (0) do tabulky ve 602SQL (10,11) nelze vytvořit novou tabulku, použít existující lze.

Kódování se zadává těmito konstantami:

hodnota od verze 9.0 do verze 8.1
0 Windows cp1250 Windows cp1250
1 Windows cp1252 Kód Kamenických, KEYBCS2;
2 ASCII Kód KOI8-CS;
3 ISO 8859-2 Kód LATIN 2 použitý v Text602;
4 DOS cp852 (LATIN 2); DOS cp852 (LATIN 2);
5 ISO 8859-1 Kód Windows ANSI (Windows 3.0)
6 UTF-8 - N/A -
7 UCS-2 - N/A -
8 UCS-4 - N/A -

Hodnota funkce

Funkce vrací FALSE při chybě.