Link IBM i (AS/400) to SQL Server

Viewed 295

I have tried linking an AS/400 to SQL Server using the following drivers: "IBM DB2 for i IBMDASQL OLE DB Provider", "IBM DB2 for i IBMDA400 OLE DB Provider", and "IBM DB2 for i IBMDARLA OLE DB Provider". The connections test successful, but when I run this SQL:

SELECT DISTINCT COLUMN_NAME FROM AS400.MyCatalog.SYSIBM.SQLCOLUMNS

or

SELECT * 
FROM OpenQuery(AS400, 'SELECT DISTINCT COLUMN_NAME FROM SYSIBM.SQLCOLUMNS');

I get the following error:

OLE DB provider "IBMDARLA" for linked server "AS400" returned message "CPF4326: Commitment definition *N not valid for open of SQLCOLUMNS.".

Msg 7306, Level 16, State 2, Line 1
Cannot open the table "Tmxloop.SYSIBM.SQLCOLUMNS" from OLE DB provider "IBMDARLA" for linked server "AS400".

Completion time: 2022-03-29T10:46:59.3399022-04:00

How do I get at least one of the connections to accept my SQL queries?

1 Answers

Use Driver

"IBM DB2 for i IBMDASQL OLE DB Provider"

Under Providers update driver "IBMDASQL" to "Allow inprocess"

Now SQL will work

SELECT DISTINCT COLUMN_NAME FROM AS400.MyCatalog.SYSIBM.SQLCOLUMNS
Related