Monday, February 20, 2012

Linked server to AS400 using iSeries ODBC

Hello all,
I see several older posts on this topic but I can't find a resolution
outside of enable journaling on the as400 which is out of my control.
I have a linked server setup in sql server 2k to an as400 using
Microsoft OLE DB Provider for ODBC and the DSN uses the the iSeries
Access for Windows ODBC data source driver. Initially I tested this
in a DTS package and I was able to use the ODBC connection to select,
insert, update and delete. However, when I try to insert, update or
delete in query analyzer by using either four part name or openquery,
I can't do it. I get a pretty generic error...
Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error. The provider did not give
any information about the error.
OLE DB error trace [OLE/DB Provider 'MSDASQL' IOpenRowset::OpenRowset
returned 0x80004005: The provider did not give any information about
the error.].
But if I use MS Access and link the table and open it within access
and try to update a row I get something to the affect of iSeries
driver can not perform operation.
Permissions are correct, unique indexes are in place, is there
anything that can be done for this other than to enable journaling on
the AS400? I will try that but this will not be up to me so I'm
hoping there is something else that I can do. Any help would be
appreciated, thanks!I believe you have to enable journaling on AS/400 to be able to execute
statements that change data (insert, update, and delete). At least this is
what I had to do and it always worked.
HTH,
Plamen Ratchev
http://www.SQLStudio.com

No comments:

Post a Comment