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 |