I am getting the following error message when I use the following TSQL statement to update a field on our AS400 (iSeries) table using a SQL Linked Server. I am using SQL Server 2008 R2 with the IBM OLE DB provider IBMDASQL. I can issue a command to update the AS400 table with a simple command setting one field back to itself and I do not receive any error messages. The problem seems to be in one of the settings or with the provider in general when joining the SQL table. I have provider options “Nested queries”, “Allow inprocess” and “Disallow adhoc access” checked on. I have linked server options “Data Access”, “Use Remote Collation” and “Enable Promotion of Distributed Transactions” checked on.
Anyone have any suggestions?
set CPYMT = b.loanrec_CPYMT
from SQLSERVER_TO_AS400.S105XMWM.LOANS.K667BL45 a
inner join tblas400tables b
on a.CLOAN = b.loanrec_CLOAN
where logid = 7485
The OLE DB provider "IBMDASQL" for linked server "SQLSERVER_TO_AS400" supplied inconsistent metadata. The object "(user generated expression)" was missing the expected column "Bmk1000".