On 20-Sep-2011 05:47 , Billy Waters wrote:
ODBC--Update on a linked table 'LibraryName_FileName" failed.
[IBM]iSeries Access ODBC Driver][DB2 UDB] SQL7008 - Filename in
Library not valid for operation. (# - 7008)
ODBC Commit mode set to: *NONE, journaling not active for 400 file.
Internet search indicates changing the Commit mode to *NONE should
eliminate the need to have journaling activated on the 400. Only
when I STRJRNPF for the file in question am I able to insert records.
Any help would be greatly appreciated.
Check the autocommit settings as well. Per both "update" and
"insert" in the quoted message, there is also the possibility that the
message is related instead to referential constraints [for UPDATE?];
review the I\O related conditions in the output of DSPMSGD SQL7008
QSQLMSG OUTPUT(*PRINT). The joblog of the job servicing the request
probably includes the msgSQL7008 where the return\reason code can be
reviewed. If the origin of the issue is strictly the commit\autocommit
settings that establish the isolation, then the WITH NC clause should
[like use of STRJRNPF] enable preventing the error.
For reference:
IBM - iSeries Access ODBC: Commit Mode Data Source Setting Document:
21653409
http://www-01.ibm.com/support/docview.wss?uid=nas131821151773d0613862569b200550644
http://www-912.ibm.com/s_dir/slkbase.NSF/0/31821151773d0613862569b200550644?OpenDocument
"The iSeries Access for Windows ODBC Datasource has an option for Commit
mode. This is the default isolation level that will be used if an
application does not specifically set it. An isolation level specified
by the application always overrides the value set in the data source. ..."
Error SQL7008 while updating a DB2 for iSeries table
http://www.querytool.com/help/876.htm
"When updating a DB2 for iSeries table you can get error
SQL7008 -(table) in (file) not valid for the operation
This occurs because the table you are trying to update is not being
journalled, and your update is being run within a transaction.
There are a number of ways of resolving this problem:
* switch off Options > Run SQL > Safe Update Mode. When Safe Update
mode is selected, AQT will run Updates and Deletes within a transaction.
* ensure Options > Technical Parameters > Auto Commit is checked.
* if you are using DB2/Connect, ensure that AutoCommit is set to
Yes. This is configured with the DB2 Configuration Assistant.
* If you are using DB2 Client Access Express, set the Commit mode
to Commit immediate (*NONE ). This is configured on the ODBC
Configuration for your Datasource."
Regards, Chuck
As an Amazon Associate we earn from qualifying purchases.