602SQL-Úplná dokumentace Index  

TSQL602DataTransport

Delphi / Kylix

Zjednodušená deklarace třídy:

type TSQL602DataTransport = class(TComponent);
published
  property Connection   : TSQL602Connection;
  property DescrName    : string;
  property SrcConn      : TComponent;
  property SrcSource    : string;
  property SrcSchema    : string;
  property SrcName      : string;
  property SrcFormat    : Integer;
  property SrcCode      : TSQL602CP;
  property DstConn      : TComponent;
  property DstSource    : string;
  property DstSchema    : string;
  property DstName      : string;
  property DstFormat    : Integer;
  property DstCode      : TSQL602CP;
  property ReindexAtEnd : Boolean;
  property DataSet      : TSQL602DataSet; 
  property Silent       : Boolean;        

public
  constructor Create(AOwner : TComponent); override;
  procedure Execute;
  
end;


Popis

Komponenta umožňuje hromadné přenosy dat mezi 602SQL servery, ODBC zdroji dat a soubory v různých formátech.



Unit

SQL602

Vlastnosti komponenty

Connection : TSQL602Connection

Spojení na 602SQL server TSQL602Connection.

DescrName : string

Jméno objektu definujícícho přenos dat. Pokud není specifikováno, provede se přenos podle popisu, který se vytvoří na základě ostatních zadaných vlastností. Pokud je zadáno, provede se přenos podle tohoto předpisu případně modifikovaného ostatními zadanými vlastnostmi.

SrcConn : TComponent

Instance komponenty TSQL602Connection nebo TSQL602ODBCConnection, která reprezentuje spojení na zdroj přenosu dat.

SrcSource: string

Jméno zdrojového zdroje dat - má význam pouze v případě, kdy je zdrojem dat jiný 602SQL server nebo ODBC zdroj dat. Není potřeba při zadané vlastnosti SrcConn.

SrcSchema: string

Jméno zdrojového schematu (aplikace) - má význam pouze v případě, kdy je zdrojem dat tabulka nebo pevný dotaz z jiné než právě otevřené aplikace.

SrcName : string

Jméno zdrojové tabulky, dotazu nebo souboru.

SrcFormat : Integer

Formát zdroje přenosu dat. Použijte jednu z konstant:
IMPEXP_FORMAT_WINBASE 0 soubor ve vnitrní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_ODBC 5 tabulka v ODBC zdroji dat
IMPEXP_FORMAT_CURSOR 6 pevný dotaz uložený v databázi 602SQL
IMPEXP_FORMAT_ODBCVIEW 7 dotaz v ODBC zdroji dat
IMPEXP_FORMAT_TABLE 10 tabulka v databázi 602SQL

SrcCode : TSQL602CP

Kódování ve zdrojovém souboru. Použijte jednu z konstant:

cpWindows1250 0 Windows cp1250 (východoevropské jazyky)
cpWindows1250 1 Windows cp1252 (západoevropské jazyky)
cpASCII 2 ASCII
cpISO88592 3 ISO 8859-2 (východoevropské jazyky)
cpDOS852 4 DOS cp852 (LATIN 2) (východoevropské jazyky)
cpISO88591 5 ISO 8859-1 (západoevropské jazyky
cpUTF8 6 UTF-8
cpUCS2 7 UCS-2
cpUCS4 8 UCS-4
DstConn : TComponent

Instance komponenty TSQL602Connection nebo TSQL602ODBCConnection, která reprezentuje spojení na cíl přenosu dat.

DstSource: string

Jméno cílového zdroje dat - má význam pouze v případě, kdy je zdrojem dat jiný 602SQL server nebo ODBC zdroj dat. Není potřeba při zadané vlastnosti DstConn.

DstSchema: string

Jméno cílového schematu (aplikace)

DstName : string

Jméno cílové tabulky nebo souboru.

DstFormat : Integer

Cílový formát (viz SrcFormat)

DstCode : TSQL602CP

Kódování ve cílovém souboru (viz. SrcCode)

ReindexAtEnd : Boolean

Není-li vlastnost nastavena, budou se při importu do databázové tabulky v 602SQL aktualizovat indexy průběžně, jinak se přebudují najednou po dokončení přenosu (rychlejší, ale během importu server nehlídá případnou unikátnost indexů).

DataSet : TSQL602DataSet

Zdrojem dat pro přenos (nikoliv cílovými!) mohou být také data ze specifikovaného datasetu. V tomto případě nelze použít jako cíl dat ODBC. Je-li zdroj přenosu specifikován jak vlastnostmi SrcConn, SrcSchema, SrcName, tak pomocí vlastnosti DataSet, mají přednost vlastnosti SrcConn, SrcSchema a SrcName. Interně se v tomto případě použije API funkce Move_data, jinak se používá API funkce Data_transport.

Silent : Boolean

Není-li vlastnost nastavena, budou se při přenosu generovat chybová hlášení na obrazovku, včetně varování při přepsání již existujícího souboru. Použije se pouze v případě exportu dat z datasetu (pomocí Move_data).



Metody komponenty

procedure Execute;

Provede vlastní přenos podle zadaných vlastností.



Příklad

Export tabulky z otevřené aplikace do DBF:

dt            := TSQL602DataTransport.Create(Self);
dt.Connection := SQL602Connection1;
// odkud se berou data
dt.SrcName    := 'ExpTab';
dt.SrcFormat  := IMPEXP_FORMAT_TABLE;
// kam se exportují
dt.DstName    := 'c:\tmp\ExpTab.dbf';
dt.DstFormat  := IMPEXP_FORMAT_FOXPRO;
dt.DstCode    := cpDOS852;
try
  dt.Execute;
except
  on e:ESQL602Exception do ShowMessage(e.Message);
end;    
dt.Free;

Export podle připraveného přenosu uloženého v databázi (může být i ODBC přenos, spojení se vytvoří automaticky):

dt            := TSQL602DataTransport.Create(Self);
dt.Connection := SQL602Connection1;
dt.DescrName  := jmeno_prenosu;
try
  dt.Execute;
except
  on e:ESQL602Exception do ShowMessage(e.Message);
end;    
dt.Free;