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

时间:2022-01-20 04:31:45

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.

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

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:

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

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

表PUB.test_table中的列test_column具有超过其最大长度或精度的值。

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

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

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?

Google通过添加具有特定值的标志(包括我个人最喜欢的每日WTF)找到了人们已经解决的其他问题,但是我无法找到告诉我标志实际上做什么的任何地方。你知道吗?

3 个解决方案

#1


2  

The link from @tom-bascom no longer works because Progress moved their KB. the comment from @stefan-moser on @mdb's question is appropriate.

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

According to Chapter 11 WorkAround Options of the DataDirect Connect Series for ODBC Reference

根据DataDirect Connect Series for ODBC参考的第11章WorkAround选项

WorkArounds2=8192. Enabling this option causes Microsoft Access not to pass the error -7748. Microsoft Access only asks for data as a two-byte SQL_C_WCHAR, which is an insufficient buffer size to store the UCS2 character and the null terminator; thus, the driver returns a warning, "01004 Data truncated" and returns a null character to Microsoft Access. Microsoft Access then passes error -7748.

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

references:

#2


0  

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.'

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

DataDirect Support KB

DataDirect支持KB

#3


-1  

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.

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

#1


2  

The link from @tom-bascom no longer works because Progress moved their KB. the comment from @stefan-moser on @mdb's question is appropriate.

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

According to Chapter 11 WorkAround Options of the DataDirect Connect Series for ODBC Reference

根据DataDirect Connect Series for ODBC参考的第11章WorkAround选项

WorkArounds2=8192. Enabling this option causes Microsoft Access not to pass the error -7748. Microsoft Access only asks for data as a two-byte SQL_C_WCHAR, which is an insufficient buffer size to store the UCS2 character and the null terminator; thus, the driver returns a warning, "01004 Data truncated" and returns a null character to Microsoft Access. Microsoft Access then passes error -7748.

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

references:

#2


0  

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.'

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

DataDirect Support KB

DataDirect支持KB

#3


-1  

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.

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