If I understand previous comments here correctly, SQLite doesn't do any file access until it needs to. For example, if you do <code>sqlite3_open_v2()</code> and then <code>sqlite3_close_v2()</code>, no file access is done. This would suggest that <code>sqlite3_open_v2()</code> by itself would not create a database file. It's possible that this was behaviour for <code>sqlite3_open()</code> and <code>sqlite3_open_v2()</code> does something different. But it might be worth a test. If you want to know whether a file of a particularly path/name exists, I think you're expected to use a file system call.