Что делает настройка WorkArounds2 = 8192 для соединения ODBC? - PullRequest
1 голос
/ 08 октября 2008

У моей компании есть стороннее приложение, которое работает на базе данных Progress . Я создавал приложение поверх их базы данных, используя соединение ODBC.

Одной из «странностей» Progress является то, что он не учитывает ширину столбцов SQL, поэтому он допускает 100 символов в столбце, определенном как varchar (50). При чтении этих данных через ODBC я получаю следующую ошибку:

Столбец test_column в таблице PUB.test_table имеет значение, превышающее его максимальная длина или точность.

Специалисты службы поддержки в компании, которая создала приложение, указали мне на то, чтобы добавить некоторые обходные пути в реестр для подключения ODBC, однако я не могу найти никакой документации относительно того, что будут делать эти флаги или какие возможные значения являются. Ключи реестра:

KEY_CURRENT_USER-> Software-> ODBC-> ODBC.INI-> MyODBCConnectionName-> обходные пути KEY_CURRENT_USER-> Software-> ODBC-> ODBC.INI-> MyODBCConnectionName-> WorkArounds2

Google нашел мне другие проблемы, которые люди решили, добавив эти флаги с определенными значениями (включая мой личный фаворит из Daily WTF ), но я не могу найти где-нибудь, что говорит мне, что на самом деле флаги делать. Знаете ли вы?

Ответы [ 3 ]

2 голосов
/ 05 января 2012

Ссылка от @ tom-bascom больше не работает, потому что Progress переместил их КБ. комментарий от @ stefan-moser к вопросу @ mdb уместен.

Согласно Глава 11 Параметры WorkAround из серии DataDirect Connect для ODBC Справочник

WorkArounds2 = 8192. Включение этого параметра приводит к тому, что Microsoft Access не передает ошибку -7748. Microsoft Access запрашивает данные только как двухбайтовый SQL_C_WCHAR, который является недостаточным размером буфера для хранения символа UCS2 и нулевого терминатора; таким образом, драйвер возвращает предупреждение «01004 Данные усечены» и возвращает нулевой символ в Microsoft Access. Microsoft Access затем передает ошибку -7748.

ссылки:

0 голосов
/ 17 июня 2009

Это исправление для:

'Эта ошибка возникает в Microsoft Access 2000 при использовании драйверов Connect for ODBC для ссылки на таблицу, с которой связан один или несколько индексов.'

Поддержка DataDirect КБ

0 голосов
/ 08 октября 2008

Файл README для DataDirect Connect для ODBC (драйвер ODBC на основе Unix) содержит список обходных путей в разделе «Параметры обхода драйвера» документа.

...