Skip to main content

Hey there,

So I have been tasked with coming up with a few new methods to maintain data files for the company I am working with. Traditionally, all the data modifications have been done via a pass program or using Alfred. This is fine for some tasks but using SQL would be much more efficient and save a lot of time in some areas, especially ad-hoc based data modifications. However, I am having some troubles getting any sql statements to work aside from select statements or single row inserts or updates. The selects all work fine and I can insert a single row or update a single row. However, the insert and updates both return errors. 

VISION: Cannot update [TABLE NAME],Temporary log error
State: S1000; Native: -22; Origin: [TOD][ODBC][GENESIS]

I get the same sqlstate and native error for all the statements, all having to do with a temporary log error. Any assistance with this would be so greatly appreciated! 


#AcuXDBC
#SQL

Hey there,

So I have been tasked with coming up with a few new methods to maintain data files for the company I am working with. Traditionally, all the data modifications have been done via a pass program or using Alfred. This is fine for some tasks but using SQL would be much more efficient and save a lot of time in some areas, especially ad-hoc based data modifications. However, I am having some troubles getting any sql statements to work aside from select statements or single row inserts or updates. The selects all work fine and I can insert a single row or update a single row. However, the insert and updates both return errors. 

VISION: Cannot update [TABLE NAME],Temporary log error
State: S1000; Native: -22; Origin: [TOD][ODBC][GENESIS]

I get the same sqlstate and native error for all the statements, all having to do with a temporary log error. Any assistance with this would be so greatly appreciated! 


#AcuXDBC
#SQL

It would be helpful to know what version you are using, an example of the insert or update you are attempting. AcuXDBC typically is configured by a file called acuxdbc.cfg. There are several variables in that file. Is the one you are using have read_only yes. Remove the # for these 4 :                                                                                                # vision_logging_file    myviserr.txt  
# vision_logging_level 9
# debug_logfile            myxdbcerr.txt 
# debug_loglevel          3

Run your inserts and updates and see if these provide any clues. Vision files or Index files have a number of rules, 1st - primary key - is your insert attempting to create a record where another record contains that same primary key? - REWRITE Statement and - Duplicate Key Handling while I can't state for sure, your post shows an error of 22 - which would be duplicate key error status (status 22).


It would be helpful to know what version you are using, an example of the insert or update you are attempting. AcuXDBC typically is configured by a file called acuxdbc.cfg. There are several variables in that file. Is the one you are using have read_only yes. Remove the # for these 4 :                                                                                                # vision_logging_file    myviserr.txt  
# vision_logging_level 9
# debug_logfile            myxdbcerr.txt 
# debug_loglevel          3

Run your inserts and updates and see if these provide any clues. Vision files or Index files have a number of rules, 1st - primary key - is your insert attempting to create a record where another record contains that same primary key? - REWRITE Statement and - Duplicate Key Handling while I can't state for sure, your post shows an error of 22 - which would be duplicate key error status (status 22).

Thank you so much for your reply. The version I am working with is 9.24 and here is an example of the update I am trying to run.

update usrpwd set usrwpw = 'TRAINING' where usrwpw = ''

There shouldn't be an issue with the key as USRWPW is not the primary key on the table. I have enabled the logging but honestly it is pretty gibberish to me. The vision debug log does show a rollback at the end of my statement but I'm not sure what the rest of it means. 

INS/UPD PRECNVT
TDA dty: 1, len: 8, dat: 00000000 54524149 4E494E47 "TRAINING"
DDP nam: USRWPW, dty: 1, fln: 8, sca: 0, fmt:
INS/UPD POSTCNVT 00000000 54524149 4E494E47 "TRAINING"
Error: VISION: Cannot update 'USRPWD',Temporary log error

Datasource request block. (WDS: 0000000000D8B148)
------------------
FNC: ROLLBACK(4)
OPT: 0 CUR: 3 AX1: 84 AX2: 0 NCO: 0 VFN: EXEC(11)
DOL: 6 DOB: 0000000000D8B206
SYSTEM
555544
39345D
DDL: 0 DDB: 0000000000D8B1E8
WBL: 6 WBP: 0000000000F81320
`.....
600000
000000
W2L: 1 W2P: 00000000039EE770
.
0
0
OWL: 6 OWP: 0000000000F7FE7C
PUBLIC
554444
052C93


Thank you so much for your reply. The version I am working with is 9.24 and here is an example of the update I am trying to run.

update usrpwd set usrwpw = 'TRAINING' where usrwpw = ''

There shouldn't be an issue with the key as USRWPW is not the primary key on the table. I have enabled the logging but honestly it is pretty gibberish to me. The vision debug log does show a rollback at the end of my statement but I'm not sure what the rest of it means. 

INS/UPD PRECNVT
TDA dty: 1, len: 8, dat: 00000000 54524149 4E494E47 "TRAINING"
DDP nam: USRWPW, dty: 1, fln: 8, sca: 0, fmt:
INS/UPD POSTCNVT 00000000 54524149 4E494E47 "TRAINING"
Error: VISION: Cannot update 'USRPWD',Temporary log error

Datasource request block. (WDS: 0000000000D8B148)
------------------
FNC: ROLLBACK(4)
OPT: 0 CUR: 3 AX1: 84 AX2: 0 NCO: 0 VFN: EXEC(11)
DOL: 6 DOB: 0000000000D8B206
SYSTEM
555544
39345D
DDL: 0 DDB: 0000000000D8B1E8
WBL: 6 WBP: 0000000000F81320
`.....
600000
000000
W2L: 1 W2P: 00000000039EE770
.
0
0
OWL: 6 OWP: 0000000000F7FE7C
PUBLIC
554444
052C93

Probably best to contact Customer Care. If you could provide a small sample data file, xfd, your acuxdbc.cfg and the SQL statements you're attempting. In your acuxdbc.cfg - do these have values:# transaction_processing Off
# logging off
# log_encrypt off
# log_device off
# log_file
# temp_dir .

Also, after the where statement, the value should be single quoted 

update usrpwd set usrwpw = 'TRAINING' where usrwpw = ''mine';