Updating record causes error "Unable to open file ?"

jacobzoethout

New Member
Hello,

One of our customers is having a problem. Every night a program runs in batch mode which updates some data. It seems now, that some data is being updated, other data not. the program runs in a character HP-UX environment.

I brought it down to an error that I get when using the Progress editor.

When running the following code:

find [table-name] where .... no-error.
message "1 " [table-name.field-name]. pause.
assign [table-name.field-name] = [new data]
message "2 " [table-name.field-name]. pause.
release {table-name].
message "3 ". pause.

After message "2" (which shows the new data) I am getting the error:
** Unable to open file: ?. Errno=0. (98)
After that, the new data is not being saved in the database.

I have no clue what causes the problem as I don't do any export to a file. It seems that Progress wants to write output to a file but doesnt have the information needed for this. There is no auditing implemented.

I am getting this error for some tables, but not for all.
I am not getting the error in the GUI environment. This is not a Progress GUI but a company built environment. It uses ofcourse the same database.
Other customers with the same configuration and the same application don't have problems.
Progress version 10.1C03

Someone have any idea?

Thanks / Kind Regards,

Jacob Zoethout
 
This may fall into the obvious category, but do you have a database/session/program trigger for the table or field that is firing and trying to output to a file?
 
Interesting problem. The best answers are already taken. Another thought: there are some startup parameters that can cause various OS file writes eg. client logging. Those might be GUI-specific and maybe if the output file is not defined correctly it's causing this problem. However I can't see how this would only be a factor on ASSIGN's.

Anyways for inspiration you could review KB P125927 and similiar.
 
do you use a DataServer as OracleDS ? ... if is the case you have to do a VALIDATE

after ASSIGN, and get the DataServer error like ... you undate a fileld 40 chars on a varchar2 (30).
If this is Progress Database ... chech if there are some database "triggers" ... the trigger can
try to open a file.
 
hello,

Thanks for your responses
There are however no database triggers that are trying to do an output to a file.

Most likely some startup paramater is causing the troubles but I dont know which one and couldnt find a difference with other customers.
And why some tables are having problems and others not, is still a mystery to me.

More ideas some are welcome.

regards,
Jacob
 
you have to provide more details, start you client session with:

-clientlog clientlog.txt
-logginglevel 4
-logentrytypes DB.Connects,FileID,4GLMessages,4GLTrace,QryInfo
-clearlog
-logthreshold 1000000
-numlogfiles 3
-debugalert
-errorstack
-yc
-yx
-s 32
 
if your database is a multi-volume db you have differents area's, may be, located
under different file systems.
Check also if the progress user has rights to (rw) these area's (db files).
 
Case solved.
Caused by old functionality which optionally puts triggering on for some tables while I was convinced that all customers have the same database structure. Found a difference in the df file with our own environment.
Some new script implemented by the customer didnt have the needed info for this file. Anyway, the triggering doesnt seem to be needed anymore so we will get rid of it.

Thanks a lot.

Jacob
 
Back
Top