Skip to main content

AcuXDBC running insert, update, delete and create table statements via system DSN

  • September 15, 2023
  • 3 replies
  • 3 views

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

3 replies

Stephen Hjerpe
  • Participating Frequently
  • September 18, 2023

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).


  • September 18, 2023

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


Stephen Hjerpe
  • Participating Frequently
  • September 18, 2023

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';