I am creating a sqlite database in temp folder. Now I want to copy that file to another folder. Is there any sqlite command to rename the sqlite database file?
I tried using rename function in c++ but it returns error 18. Error no 18 means: “The directory containing the name newname must be on the same file system as the file (as indicated by the name oldname)”.
Can someone suggest a better way to do this.
Use a temporary directory on the correct filesystem!
First, sqlite database is just a file. It can be moved or copied around whatever you wish, provided that:
So moving it as a file is correct. Now there are two ways to move a file:
renamesystem call.The former has many advantages: it can’t leave partially written file around, it can’t leave both files around , it is very fast and if you use it to rename over old file, there is no period where the target name wouldn’t exist (the last is POSIX semantics and Windows can do it on NTFS, but not FAT filesystem). It also has one important disadvantage: it only works within the filesystem. So you have to:
/bin/mvto do it for you).