Friday, February 11, 2011

What does the setting WorkArounds2=8192 do on an ODBC connection?

My company has a 3rd party application that runs on a Progress database. I've been building an application on top of their database using an ODBC connection.

One of the "quirks" of Progress is that it doesn't honor SQL column widths, so it will allow 100 characters in a column defined as a varchar(50). When reading this data via ODBC, I get the following error:

Column test_column in table PUB.test_table has value exceeding its max length or precision.

The support techs at the company that build the application pointed me towards adding some work around flags in the registry for the ODBC connection, however, I can't find any documentation as to what these flags will do or what the possible values are. The registry keys are

KEY_CURRENT_USER->Software->ODBC->ODBC.INI->MyODBCConnectionName->WorkArounds KEY_CURRENT_USER->Software->ODBC->ODBC.INI->MyODBCConnectionName->WorkArounds2

Google has found me other problems that people have solved by adding these flags with specific values (including my personal favourite from The Daily WTF) but I can't find anywhere that tells me what the flags actually do. Do you know?

  • The README file for DataDirect Connect for ODBC (a Unix-based ODBC driver) contains a list of workarounds in the "Driver WorkAround Options" section of the document.

    Stefan Moser : Thanks for the link, but it does not say what WorkArounds2=8192 does.
    From mdb
  • It is a fix for:

    'This error occurs with Microsoft Access 2000 when using the Connect for ODBC drivers to link to a table which has one or more indexes associated with it.'

    DataDirect Support KB

    From Tom Bascom

0 comments:

Post a Comment