Feedback
Did this article resolve your question/issue?

   

Article

Error when selecting and then inserting a bare NULL into a table using OpenAccess ODBC SDK v8.1.

Information

 
TitleError when selecting and then inserting a bare NULL into a table using OpenAccess ODBC SDK v8.1.
URL Nameerror-when-selecting-and-then-inserting-a-bare-null-into-a-table-using-openaccess-odbc-sdk-v8-1
Article Number000116113
EnvironmentProduct: OpenAccess SDK Server
Version: 8.1
OS: Windows
Database: N/A
Application: SQL Server Linked Server
Question/Problem Description
Below error is received when selecting a bare NULL from a linked server via OpenAccess ODBC, and inserting it into a table.
Steps to ReproduceIn SQL server with a linked server set up to an 8.1 ODBC server, run the following command:

CREATE TABLE dbo.#Temp (
Test INT
);
GO
INSERT dbo.#Temp (
Test
)
SELECT *
FROM OPENQUERY({Linked server name here}, 'SELECT NULL'); -- 8.1 Hotfix
GO
INSERT dbo.#Temp (
Test
)
SELECT *
FROM OPENQUERY({Linked server name here}, 'SELECT CAST(NULL AS INT)'); -- 8.1 Hotfix
GO
DROP TABLE dbo.#Temp;

The first command fails, the second one succeeds.

Both succeeds with OpenAccess SDK 7.0 environment.
Clarifying Information
Error MessageOperand type clash: text is incompatible with int
Defect NumberDefect: 79011
Enhancement Number
Cause
The precision and length returned by OpenAccess SDK SQLEngine is 0 and type returned as CHAR. Since, linked server (sqlserver) expecting the precision and length values are more than zero for NULL column since the type of NULL column is treated as CHAR
Resolution
Fixed in hot fix 8.1.0.0062
Refer to OpenAccess SDK hot fix download and install instructions for instructions to download and install the hot fix.
 
Workaround
Notes
Last Modified Date11/20/2020 7:12 AM
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.