Logical types and driver-specific physical types

<< Click to Display Table of Contents >>

Navigation:  Data Structures >

Logical types and driver-specific physical types

Previous pageReturn to chapter overviewNext page

The following tables show physical types translated into logical types, and then into the physical type of a different driver. (You might need to widen this Help window to display the full width of the chart.)

Note:        FoxPro uses the same physical types as dBASE.

From Paradox
physical type

To BDE
logical type

To dBASE
physical type

fldPDXBINARYBLOB

fldBLOB/fldstBINARY

fldDBMEMO

fldPDXBLOB

fldPDXMEMO

fldDBMEMO

fldPDXCHAR

fldZSTRING

fldDBCHAR

fldPDXDATE

fldDATE

fldDATE

fldPDXFMTMEMO

fldBLOB/fldstFMTMEMO

fldDBMEMO

fldPDXGRAPHIC

fldBLOB/fldstGRAPHIC

fldDBBINARY

fldPDXMEMO

fldBLOB/fldstMEMO

fldDBMEMO

fldPDXMONEY

fldFLOAT/fldstMONEY

if dBASE table Level < 7

 fldDBFLOAT {20.4}

 else

 fldDBDOUBLE


 


 


 


fldPDXNUM

fldFLOAT

if dBASE table Level < 7

 fldDBFLOAT {20.4}

 else

 fldDBDOUBLE

 


 


 


fldPDXOLEBLOB

fldBLOB/fldstOLEOBJ

fldDBOLEBLOB

fldPDXSHORT

fldINT16

fldDBNUM {6.0}

 



Paradox level 5 data types:

fldPDXAUTOINC

fldINT32/fldstAUTOINC

fldDBAUTOINC

fldPDXBCD

fldBCD

fldDBCHAR

fldPDXBOOL

fldBOOL

fldDBBOOL

fldPDXBYTES

fldBYTES

fldDBMEMO

fldPDXDATETIME

fldTIMESTAMP

fldDBDATETIME

fldPDXLONG

fldINT32

fldDBLONG

fldPDXTIME

fldTIME

fldDBCHAR {>8}

 



From dBASE
physical type

To BDE
logical type

To Paradox
physical type

fldDBBINARY

fldBLOB/fldstTYPEDBINARY

fldPDXBINARYBLOB

fldDBLOCK

fldLOCKINFO

fldPDXCHAR {24}

fldDBBOOL

fldBOOL

fldPDXBOOL

fldDBBYTES

fldBYTES

fldPDXBYTES (only for temp tables)

fldDBCHAR

fldZSTRING

fldPDXCHAR

fldDBDATE

fldDATE

fldPDXDATE

fldDBFLOAT

fldFLOAT

fldPDXNUM

fldDBMEMO

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBNUM

if ( iUnits2=0 && iUnits1<5)

 

fldINT16

fldPDXSHORT




else

 

fldFLOAT

fldPDXNUM



fldDBOLEBLOB

fldBLOB/fldstDBSOLEOBJ

fldPDXOLEBLOB

 



From Access
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldACCAUTOINC

fldINT32/fldstAUTOINC

fldPDXLONG

fldDBAUTOINC

fldACCBINARY *

fldBYTES

fldPDXBYTES

fldDBBYTES

fldACCBIT

fldBOOL

fldPDXBOOL

fldDBBOOL

fldACCBYTE

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldACCCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldACCDATETIME

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldACCDOUBLE

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldACCFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldACCLONG

fldINT32

fldPDXLONG

fldDBLONG

fldACCLONGBINARY

fldBLOB/fldstACCOLEOBJ

fldPDXBINARYBLOB

fldDBMEMO

fldACCLONGTEXT

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldACCMONEY

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldACCSHORT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldACCVARCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

Note: fldACCBINARY cannot be created, but can be read and written to.





From Oracle
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldORACHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldORARAW

fldVARBYTES

fldPDXBINARYBLOB

fldDBMEMO

fldORADATE

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldORANUMBER

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldORALONG

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldORALONGRAW

fldBLOB/fldstBINARY

fldPDXBINARYBLOB

fldDBMEMO

fldORAVARCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldORAVARCHAR2

  iUnits1 <=255

fldSTRING

fldPDXCHAR

fldDBCHAR

  iUnits1 >255

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldORAFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




 





From Sybase
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldSYBBINARY

fldBYTES

fldPDXBYTES

fldDBMEMO

fldSYBBIT

fldBOOL

fldPDXBOOL

fldDBBOOL

fldSYBCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldSYBDATETIME

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldSYBDATETIME4

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldSYBFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldSYBFLOAT4

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldSYBIMAGE

fldBLOB/fldstBINARY

fldPDXBINARYBLOB

fldDBMEMO

fldSYBINT

fldINT32

fldPDXLONG

fldDBLONG

fldSYBMONEY

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

 fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldSYBMONEY4

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldSYBSMALLINT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldSYBTEXT

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldSYBTIMESTAMP

fldVARBYTES

fldPDXBINARYBLOB

fldDBMEMO

fldSYBTINYINT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldSYBVARBINARY

fldVARBYTES

fldPDXBINARYBLOB

fldDBMEMO

fldSYBVARCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

 




If you are using Sybase System 10, the following additional Sybase physical types are available:

From Sybase
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldSYBDECIMAL

fldFLOAT

fldPDXNUM

fldDBFLOAT(20,4)

fldSYBNUMERIC

fldFLOAT

fldPDXNUM

fldDBFLOAT(20,4)

 




From MS SQL
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldMSSBINARY

fldBYTES

fldPDXBYTES

fldDBMEMO

fldMSSBIT

fldBOOL

fldPDXBOOL

fldDBBOOL

fldMSSCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldMSSDATETIME

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldMSSDATETIME4

fldTIMESTAMP

fldPDXDATETIME

fldDBDBDATETIME

fldMSSDECIMAL

fldFLOAT

fldPDXNUM

fldDBFLOAT(20,4)

fldMSSFLOAT

fldFLOAT

fldPDXNUM

fldDBFLOAT {20.4}

fldMSSFLOAT4

fldFLOAT

fldPDXNUM

fldDBFLOAT {20.4}

fldMSSIMAGE

fldBLOB/fldstBINARY

fldPDXBINARYBLOB

fldDBMEMO

fldMSSINT

fldINT32

fldPDXLONG

fldLONG

fldMSSMONEY

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldMSSMONEY4

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldMSSNUMERIC

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldMSSSMALLINT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldMSSTEXT

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldMSSTIMESTAMP

fldVARBYTES

fldPDXBINARYBLOB

fldDBMEMO

fldMSSTINYINT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldMSSVARBINARY

fldVARBYTES

fldPDXBINARYBLOB

fldDBMEMO

fldMSSVARCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR

 




From InterBase
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldIBBLOB

fldBLOB

fldPDXBINARYBLOB

fldDBMEMO

fldIBBLOB/1

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldIBCHAR

  iUnits 1 <=255

fldZSTRING

fldPDXCHAR

fldDBCHAR

  iUnits1 > 255

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldIBDATE

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldIBDOUBLE

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldIBFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldIBLONG

fldINT32

fldPDXLONG

fldDBLONG

fldIBSHORT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldIBVARYING

  iUnits1 <= 255

fldSTRING

fldPDXCHAR

fldDBCHAR

  iUnits1 >255

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

 




From Informix
physical type

To BDE
logical type

To Paradox
physical type

To dBASE
physical type

fldINFBYTE

fldBLOB/fldstBINARY

fldPDXBINARYBLOB

fldDBMEMO

fldINFCHAR

  iUnits1 <=255

fldZSTRING

fldPDXCHAR

fldDBCHAR

  iUnits1 > 255

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldINFDATE

fldDATE

fldPDXDATE

fldDBDATE

fldINFDATETIME

fldTIMESTAMP

fldPDXDATETIME

fldDBDATETIME

fldINFDECIMAL

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldINFFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldINFINTEGER

fldINT32

fldPDXLONG

fldDBLONG

fldINFINTERVAL

fldZSTRING

fldPDXCHAR

fldDBCHAR

fldINFMONEY

fldFLOAT/fldstMONEY

fldPDXMONEY

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldINFSERIAL

fldINT32

fldPDXLONG

fldDBLONG

fldINFSMALLFLOAT

fldFLOAT

fldPDXNUM

if dBASE table Level < 7

fldDBFLOAT {20.4}

else

fldDBDOUBLE


 




 




 




fldINFSMALLINT

fldINT16

fldPDXSHORT

fldDBNUM {6.0}

fldINFTEXT

fldBLOB/fldstMEMO

fldPDXMEMO

fldDBMEMO

fldINFVARCHAR

fldZSTRING

fldPDXCHAR

fldDBCHAR