From: Arno B. <fir...@ab...> - 2002-11-12 08:36:49
|
Hi, IB7 uses an newer SQLDA version structure. Everywhere a "version : Short" implemented. Just look on this IBX delphi ... : METADATALENGTH = 68; *--- OLD VERSION ---* TISC_ARRAY_DESC = record array_desc_dtype : UChar; array_desc_scale : Char; array_desc_length : UShort; array_desc_field_name : array[0..31] of Char; array_desc_relation_name : array[0..31] of Char; array_desc_dimensions : Short; array_desc_flags : Short; array_desc_bounds : array[0..15] of TISC_ARRAY_BOUND; end; // TISC_ARRAY_DESC *--- NEW VERSION ---* TISC_ARRAY_DESC_V2 = record array_desc_version : Short; array_desc_dtype : UChar; array_desc_subtype : UChar; array_desc_scale : Char; array_desc_length : UShort; array_desc_field_name : array[0..METADATALENGTH - 1] of Char; array_desc_relation_name : array[0..METADATALENGTH - 1] of Char; array_desc_dimensions : Short; array_desc_flags : Short; array_desc_bounds : array[0..15] of TISC_ARRAY_BOUND; end; // TISC_ARRAY_DESC *--- OLD VERSION ---* TISC_ARRAY_DESC = record array_desc_dtype : UChar; array_desc_scale : Char; array_desc_length : UShort; array_desc_field_name : array[0..31] of Char; array_desc_relation_name : array[0..31] of Char; array_desc_dimensions : Short; array_desc_flags : Short; array_desc_bounds : array[0..15] of TISC_ARRAY_BOUND; end; // TISC_ARRAY_DESC *--- NEW VERSION ---* TISC_ARRAY_DESC_V2 = record array_desc_version : Short; array_desc_dtype : UChar; array_desc_subtype : UChar; array_desc_scale : Char; array_desc_length : UShort; array_desc_field_name : array[0..METADATALENGTH - 1] of Char; array_desc_relation_name : array[0..METADATALENGTH - 1] of Char; array_desc_dimensions : Short; array_desc_flags : Short; array_desc_bounds : array[0..15] of TISC_ARRAY_BOUND; end; // TISC_ARRAY_DESC *--- OLD VERSION ---* TISC_BLOB_DESC = record blob_desc_subtype : Short; blob_desc_charset : Short; blob_desc_segment_size : Short; blob_desc_field_name : array[0..31] of UChar; blob_desc_relation_name : array[0..31] of UChar; end; // TISC_BLOB_DESC *--- NEW VERSION ---* TISC_BLOB_DESC_V2 = record blob_desc_version : Short; blob_desc_subtype : Short; blob_desc_charset : Short; blob_desc_segment_size : Short; blob_desc_field_name : array[0..METADATALENGTH - 1] of UChar; blob_desc_relation_name : array[0..METADATALENGTH - 1] of UChar; end; // TISC_BLOB_DESC *--- OLD VERSION ---* TXSQLVAR_V1 = record sqltype : Short; (** datatype of field **) sqlscale : Short; (** scale factor **) sqlsubtype : Short; (** datatype subtype - BLOBs **) (** & text types only **) sqllen : Short; (** length of data area **) sqldata : PChar; (** address of data **) sqlind : PShort; (** address of indicator **) (** variable **) sqlname_length : Short; (** length of sqlname field **) (** name of field, name length + space for NULL **) sqlname : array[0..31] of Char; relname_length : Short; (** length of relation name **) (** field's relation name + space for NULL **) relname : array[0..31] of Char; ownname_length : Short; (** length of owner name **) (** relation's owner name + space for NULL **) ownname : array[0..31] of Char; aliasname_length : Short; (** length of alias name **) (** relation's alias name + space for NULL **) aliasname : array[0..31] of Char; end; // TXSQLVAR_V1 *--- NEW VERSION ---* TXSQLVAR = record sqltype : Short; (** datatype of field **) sqlscale : Short; (** scale factor **) sqlprecision : Short; (** precision : Reserved for future **) sqlsubtype : Short; (** datatype subtype - BLOBs **) (** & text types only **) sqllen : Short; (** length of data area **) sqldata : PChar; (** address of data **) sqlind : PShort; (** address of indicator **) (** variable **) sqlname_length : Short; (** length of sqlname field **) (** name of field, name length + space for NULL **) sqlname : array[0..METADATALENGTH - 1] of Char; relname_length : Short; (** length of relation name **) (** field's relation name + space for NULL **) relname : array[0..METADATALENGTH - 1] of Char; ownname_length : Short; (** length of owner name **) (** relation's owner name + space for NULL **) ownname : array[0..METADATALENGTH - 1] of Char; aliasname_length : Short; (** length of alias name **) (** relation's alias name + space for NULL **) aliasname : array[0..METADATALENGTH - 1] of Char; end; // TXSQLVAR_V1 I know our priority isn't to follow, but it wouldn't be that bad ? Regards, Arno |