On Sat, Nov 24, 2001 at 10:03:39PM -0500, Thomas A.Lowery wrote:
>
> On Wed, Oct 31, 2001 at 09:26:14AM +0100, Steffen Goeldner wrote:
> > Attached is *not* a patch - it's a first cut and a cry for help!
> > I have problems mapping the ADO fields to SQL/CLI (ODBC, DBI)
> > fields, especially the datatype related fields.
> > I guess that the magic DBD::ADO::_determine_type_support() may
> > provide part of a solution.
> > Any suggestions, hints, insides, patches, ... are welcome!
>
> > BTW: It seems, that the statement handle attributes need the
> > same mapping.
>
> Now that I'm looking at this again I remember why I skipped it ;->
>
> >
> > sub column_info {
>
> I'm beginning to remember why converting ADO to the SQL/ODBC was such a
> pain: Take a simple example of what OpenSchema(adSchemaProviderType)
> returns verse what the table column types return.
>
> The Provider supports:
>
> -> data type Short: 2
> -> data type Long: 3
> -> data type Single: 4
> -> data type Double: 5
> -> data type Currency: 6
> -> data type DateTime: 7
> -> data type Bit: 11
> -> data type Byte: 17
> -> data type GUID: 72
> -> data type BigBinary: 128
> -> data type LongBinary: 128
> -> data type VarBinary: 128
> -> data type LongText: 130
> -> data type VarChar: 130
> -> data type Decimal: 131
>
> However, my table columns types are
> Number: 5 (adDouble)
> Text: 202 (adVarWChar)
> Number: 131 (adNumeric)
> Number: 131 (adNumeric)
> Date/Time: 7 (adDate)
> Memo: 203 (adLongVarWChar)
>
> Type 5 is supported at mytest.pl line 36
> Type 202 is not supported at mytest.pl line 36
> Type 131 is supported at mytest.pl line 36
> Type 131 is supported at mytest.pl line 36
> Type 7 is supported at mytest.pl line 36
> Type 203 is not supported at mytest.pl line 36
>
> So the Provider does not supply any information on how to support
> data types adVarWChar and adLongVarWChar.
Perhaps ADO char types already support unicode.
Tim.
> Converting from the an ADO type to the SQL/ODBC type, without support
> from the provider, may be difficult.
> We'll need to look at more then just the type in an attempt to map it.
> As the provider above shows, the same data type may have different
> column type depending on the other attributes:
>
> TYPE_NAME
> *DATA_TYPE
> *COLUMN_SIZE
> LITERAL_PREFIX
> LITERAL_SUFFIX
> CREATE_PARAMS
> IS_NULLABLE
> CASE_SENSITIVE
> SEARCHABLE
> *UNSIGNED_ATTRIBUTE
> *FIXED_PREC_SCALE
> *AUTO_UNIQUE_VALUE
> *LOCAL_TYPE_NAME
> MINIMUM_SCALE
> MAXIMUM_SCALE
> GUID
> TYPELIB
> VERSION
> *IS_LONG
> *BEST_MATCH
> *IS_FIXEDLENGTH
>
> I'll look at mapping the SQL_* types to ADO attributes.
>
> Tom
>
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>