Как уже упоминалось, ваш код должен работать, если у вас есть права на запись для этого пути. Однако важно, чтобы каталог существовал . Если вы делаете вызов для несуществующей папки:
conn = sqlite3.connect(r"D:\Some new non-existing folder\aaa.db")
Это не сработает, у вас будет
sqlite3.OperationalError: unable to open database file.
То же самое для относительных путей:
1) conn = sqlite3.connect(r"aaa.db")
2) conn = sqlite3.connect(r"Some new folder\aaa.db")
Первый всегда будет работать, потому что вы работаете в уже существующем каталоге, а второй не будет работать, если вы заранее не создадите папку.