You could also set the temp_store pragma such that *most* temp files are created in memory. I say most, because even though you set temp_store to memory, there is still one temporary file(statement journal) which will still need to use the temp_store_directory.
I suppose another possibility is to set the temp environment variable. I have just noticed that your version of sqlite is way old... so I'm very unsure if anything I've suggested is of any use. I know the environment variable did not work in 3.5.9, but does in 3.6 and up. Artur Reilin wrote: > I can, but doesn't there exists an another way? > > >> I believe you can specify the directory in which temporary files will be >> created. This is done with pragma temp_store_directory. I think you >> can also set this in compilation. >> >> Artur Reilin wrote: >>> >>>> >>>> On 19 Nov 2009, at 8:05am, Artur Reilin wrote: >>>> >>>>> My host have sqlite support vor sqlite 2.8.17 and i can use it. But i >>>>> have >>>>> to give chMod 0777 to the directory where i use sqlite. Not only on >>>>> the >>>>> directory, that contains the sqlite database. let me show it: >>>>> >>>>> /index.php (uses sqlite database) >>>>> /data/data.sqlite (sqlite database) >>>>> >>>>> If i give chMod 0777 to /data/ and the files in this folder, it >>>>> wouldn't >>>>> work and get me an "malformed database - cannot create temp tables". >>>>> >>>>> I need to gibe chMod to the directory which contains the index.php >>>>> file. >>>>> That's a big security risk and i don't want to give chMod to the main >>>>> directory. >>>>> >>>>> Is this normal and can i change this? >>>> >>>> You do not actually need 0777. Your problem is that the user which is >>>> creating and using the database is the user that runs Apache, not >>>> yourself. So find out which user Apache runs under. This might be >>>> perhaps www or _www or _apache. Make sure that that user has the >>>> rights >>>> over this directory. Then Apache (running the .php script) which have >>>> enough access to use the database file. >>>> >>>> Simon. >>> >>> The user which runs php (or has the highest rights) is called nobody. >>> The >>> support said me, that i need to set the directory to this user, but it >>> also don't work. I get the same error as before. I can try it again, but >>> the last time it didn't work. >>> >>> I also wondering why my oop version of my script didn't work, but the >>> prozedural one does. They have pdo drivers like mine xampp server, but >>> they don't have the sqlite3 drivers. Perhaps this also happens because >>> of >>> the malformed database error... >>> >>> With best wishes >>> >>> Artur Reilin >>> sqlite.yuedream.de > > Artur Reilin > sqlite.yuedream.de > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users