Table Element¶
Each <Table> element represents one Btrieve table to migrate. A table
element with an empty Name (Name="") serves as a global default whose
settings are inherited by all other tables.
<Table Name="Person" Filename="person.dat" Schema="dbo"
OwnerName="" PageSize="4096" RecordSize="128"
PrimaryIndex="0" VariableLength="n" TrueNullable="n"
RequireBtrieveFile="y" PreserveRecordPosition="n"
IgnoreNullValues="y" OemTranslation="n"
OverwriteExistingTable="y" EraseTableBeforeCopy="n"
MakeIndexesUnique="y" SqlLobMode="n">
...
</Table>
Table Definition Attributes¶
These attributes describe the structure of the Btrieve table. In the DDF
variant (Btrieve2SqlMigration), most of these come from the DDFs and are
not needed. In the Full Migration variant, they are required or strongly
recommended.
Attribute |
Required |
Default |
Description |
|---|---|---|---|
|
Yes |
(none) |
Name of the table. For the DDF variant, this must match the table name
as defined in the Pervasive/Btrieve DDFs. For the Full variant, this
becomes the SQL table name and should be a valid SQL identifier. An
empty string ( |
|
Full only |
(none) |
Relative or absolute path to the Btrieve data file. This determines the
|
|
Yes |
(none) |
The SQL schema in which to create the table (e.g., |
|
No |
(empty) |
The Btrieve file owner name (password). Required if the Btrieve file is password-protected so it can be opened for reading during data copy. Not used during application runtime. |
|
No |
(from file) |
Page size of the Btrieve file. Not used by SQL; informational only. Full variant only. |
|
No |
(calculated) |
Size in bytes of the fixed portion of the record. If omitted, the value is computed by summing the field sizes. Full variant only. |
|
No |
(auto) |
Which index number (0-based) to treat as the primary key. If omitted,
an index on an auto-increment field is used, or |
|
No |
|
Whether the Btrieve record is variable length (can store data beyond the fixed-length portion). Full variant only. |
|
No |
|
Whether the table supports Btrieve “true nulls” (as opposed to legacy null handling). Full variant only. |
Migration Option Attributes¶
These attributes control how the migration is performed for this table. They are available in both the DDF and Full variants.
Attribute |
Required |
Default |
Description |
|---|---|---|---|
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
|
If |
|
No |
(from INI) |
If |
|
No |
(driver default) |
Default SQL collation for string fields in this table. Individual fields
can override this with their own
|
MSSQL-Specific Attributes¶
Attribute |
Required |
Default |
Description |
|---|---|---|---|
|
No |
(default) |
MSSQL filegroup for table data storage. |
|
No |
(default) |
MSSQL filegroup for index storage. |
|
No |
(default) |
MSSQL filegroup for large fields ( |
Child Elements¶
A <Table> element may contain the following child elements. The order
matters when using DTD validation:
MSSQLBulkCopy — MSSQL bulk copy options (see Backend-Specific Elements)
OracleTableSpaces — Oracle tablespace assignments (see Backend-Specific Elements)
OracleTableStorage — Oracle storage parameters (see Backend-Specific Elements)
Fields — Field definitions (see Field Elements)
Indices — Index definitions (see Index Elements)