I'm using Informix IDS 11.50 Innovator-C edition running on Slackware Linux 12.0. I've been running a very small Database on it(less than 10000 records on the biggest table).
I'm trying to select a view from a web service, and every time there's a high load user load queries are being dropped with messages like:
ERROR [HY000] [Informix .NET provider][Informix]Could not write to a temporary file
Or
ERROR [HY000] [Informix .NET provider][Informix]Could not open or create a temporary file
The Web Service is using the .NET Informix Driver which relies on the Informix ODBC API.
Searching for those errors on the web or in the online documentation I found that it's something related to DBTEMP environment variable and the DBSPACETEMP configuration parameter.
Both are set. DBTEMP pointing to a directory with all permissions(rw), three dbspaces are listed on DBSPACETEMP. One regular dbspace and two flagged as temporary dbspace.
Storage is not a problem, the directory and the dbspaces have a lot of free space left.
The tables that the view Targets use R-tree indexes, and those are stored on a dedicated dbspace. One more thing I'm using a Geodetic Datablade on the database.
Best Answer
You say the directory has
rw
permission; does it also havex
permission. You needx
permission to access the files in a directory (so you might set the permissions on the directory to ... gritted teeth ... 777, but you shouldn't. Is the directory owned by userinformix
and does it belong to groupinformix
? Ideally, it should be owned byinformix:informix
, and the permissions should be 770 (ordrwxrwx---
).