Что делает настройка обходных путей 2=8192 для ODBC-соединения?
-
05-07-2019 - |
Вопрос
В моей компании есть стороннее приложение, которое работает на Прогресс База данных.Я создавал приложение поверх их базы данных, используя ODBC-соединение.
Одна из "причуд" Progress заключается в том, что он не учитывает ширину столбца SQL, поэтому он допускает 100 символов в столбце, определенном как varchar(50).При чтении этих данных через ODBC я получаю следующую ошибку:
Столбец test_column в таблице Значение PUB.test_table превышает его максимальную длину или точность.
Специалисты службы поддержки в компании, которая создает приложение, указали мне на добавление некоторых обходных флагов в реестр для подключения ODBC, однако я не могу найти никакой документации относительно того, что будут делать эти флаги или каковы возможные значения.Разделами реестра являются
KEY_CURRENT_USER-> Программное обеспечение-> ODBC-> ODBC.INI-> MyODBCConnectionName-> Обходные пути KEY_CURRENT_USER-> Программное обеспечение->ODBC->ODBC.INI-> MyODBCConnectionName->Обходные пути 2
Google нашел мне другие проблемы, которые люди решили, добавив эти флаги с определенными значениями (включая мой личный фаворит из Ежедневный WTF) но я не могу найти нигде, что говорило бы мне, что на самом деле делают флаги.Ты знаешь?
Решение
Ссылка от @tom-bascom больше не работает, потому что Progress переместил их КБ.комментарий от @stefan-moser на вопрос @mdb уместен.
Согласно Глава 11 Варианты обходных путей из числа Серия подключений DataDirect для ссылки на ODBC
Обходные пути 2=8192.Включение этого параметра приводит к тому, что Microsoft Access не передает сообщение об ошибке -7748.Microsoft Access запрашивает данные только в виде двухбайтового SQL_C_WCHAR, что является недостаточным размером буфера для хранения символа UCS2 и нулевого разделителя;таким образом, драйвер возвращает предупреждение "01004 Данные усечены" и возвращает нулевой символ в Microsoft Access.Затем Microsoft Access передает сообщение об ошибке -7748.
ссылки:
Другие советы
Это исправление для:
'Эта ошибка возникает в Microsoft Access 2000 при использовании драйверов Connect for ODBC для ссылки на таблицу, с которой связан один или несколько индексов.'
файл README для DataDirect Connect для ODBC ( драйвер ODBC на основе Unix) содержит список обходных путей в разделе «Параметры WorkAround драйвера»; раздел документа.