SQLite Forum

Special characters * and ? are not supported in Database Names on Windows?
Login
As has already been remarked, this is not a SQLite problem and is thus off-topic for this forum.  But previous responses may lead you to other, similar, mistakes so I'm giving a fuller answer.

Windows uses the question mark and asterisk characters as pattern match characters (any single character, and any sequence of characters, respectively).  Filenames are not allowed to include them.

Do not use periods in names of files for Windows, except for one period which separates the filename from the extension.  Some software handles multiple periods correctly.  Other software does not, interpreting the *first* period as the separator, and everything after it as the extension, then interpreting that extension as a filetype.  This is incorrect, but so much software does it good Windows programmers know to avoid it.

You will have problems if you handle a file with a name starting with a period to a Unix/Linux/Mac computer.

There are also some problems with using minus signs.  Try, for example, working on various operating systems with filenames which start with a minus sign.  Underscores should be fine, but filenames which start with an underscore can act weird on various platforms, including being invisible to some file browsers.  Remember also that your boot volume may be some fancy modern filesystem that handles unicode and all sorts of fancy filenames, but eventually someone's gonna copy your files to a Flash Drive with FAT32, or a backup drive formatted for ext3.

Basic rules for platform-independent filenames:

ASCII characters only.  Assume no distinction between upper and lower case.
First character must be a letter or a digit.
Subsequent characters can be letter, digit, underscore or period.
Maximum of one period in the filename.

That should do you for most operating systems and most filesystems, most of the time.