FBExport |
|
Tool for exporting and importing data with Firebird and InterBase databases |
Byte |
Length |
Value |
Explained |
0 |
1 |
0 |
Always
zero |
1 |
1 |
125 |
FBExport file version, currently: 125 |
2 |
1 |
FC |
Field count (number of columns) |
3 |
FC |
TYPE |
Column types |
The following part repeats (except for BLOBs which don't have it at all) |
|||
FC + 4 |
1 |
length |
Length of the next data in bytes (read below) |
FC + 5 |
length |
data |
Data itself |
End of file |
Type
code |
IBPP
Name |
SQL
Name |
0 |
Array |
Array |
1 |
Blob |
Blob |
2 |
Date |
Date |
3 |
Time |
Time |
4 |
Timestamp |
Timestamp
(date in Dialect 1) |
5 |
String |
Char,
Varchar |
6 |
Smallint |
Short |
7 |
Integer |
Int |
8 |
LargeInt |
Decimal(18,
0) only in Dialect 3 |
9 |
Float |
Float |
10 |
Double |
Double
precision and Decimal/Numeric with scale |
Byte |
Length |
Value |
Explained |
0 |
1 |
0 or 1 |
0 when column is NULL, 1 when it is not
NULL. (hex values 0x00 and 0x01) |
The following bytes repeat until the end of BLOB data |
|||
1 |
4 |
xxxx |
size of next segment (0-8192) converted to string
Example: length of 1280 is written as 0x31 0x32 0x38 0x30 |
xxxx + 5 |
xxxx |
DATA |
Blob data (one segment) |
Length
byte value |
Meaning |
0-253 |
Single byte length, just read it. |
254 |
Special mark, the following two bytes represent the real length of data (byte1 * 256 + byte2) |
255 |
NULL value |
IBPP
Type |
Written
as |
Array |
-
not yet supported by FBExport - |
Blob |
special case |
Date |
string representation of number of days since 1.1.1900 |
Time |
string representation of number of seconds since midnight |
Timestamp |
YYYYMMDDhhmmss |
String |
as
is |
Smallint |
as string |
Integer |
|
LargeInt |
|
Float |
as string, dot (.) is used as decimal separator |
Double |