WorkArounds2 = 8192在ODBC连接上的设置是什么?

时间:2008-10-07 21:04:41

标签: registry odbc openedge progress-db

我的公司有一个在Progress数据库上运行的第三方应用程序。我一直在使用ODBC连接在他们的数据库上构建应用程序。

Progress的一个“怪癖”是它不支持SQL列宽,因此它将允许在定义为varchar(50)的列中包含100个字符。通过ODBC读取此数据时,出现以下错误:

  

表格中的列test_column   PUB.test_table的值超过了它   最大长度或精度。

构建应用程序的公司的支持技术人员指出我在注册表中为ODBC连接添加一些标志,但是,我找不到任何关于这些标志将做什么或可能的值的文档是。注册表项是

  

KEY_CURRENT_USER->软件 - > ODBC的> ODBC.INI-> MyODBCConnectionName->解决方法   KEY_CURRENT_USER->软件 - > ODBC的> ODBC.INI-> MyODBCConnectionName-> WorkArounds2

谷歌通过添加具有特定值的这些标志(包括我个人最喜欢的The Daily WTF)找到了人们解决的其他问题,但我找不到告诉我标志实际上做什么的任何地方。你知道吗?

3 个答案:

答案 0 :(得分:2)

来自@ tom-bascom的链接不再有效,因为Progress移动了他们的KB。 @ stefan-moser对@mdb问题的评论是恰当的。

根据Chapter 11 WorkAround Options

DataDirect Connect Series for ODBC Reference

WorkArounds2 = 8192。启用此选项会导致Microsoft Access不传递错误-7748。 Microsoft Access仅以两字节SQL_C_WCHAR请求数据,这是一个不足以存储UCS2字符和空终止符的缓冲区大小;因此,驱动程序返回警告,“01004数据截断”并返回空字符到Microsoft Access。 Microsoft Access然后传递错误-7748。

的引用:

答案 1 :(得分:0)

这是一个修复:

'当使用Connect for ODBC驱动程序链接到包含一个或多个与之关联的索引的表时,Microsoft Access 2000会出现此错误。'

DataDirect Support KB

答案 2 :(得分:-1)

README file for DataDirect Connect for ODBC(基于Unix的ODBC驱动程序)包含文档“Driver WorkAround Options”部分中的变通方法列表。