如何在Python中连接到Sqlite数据库

yfjy0ee7  于 2023-06-30  发布在  SQLite
关注(0)|答案(1)|浏览(138)

我在Python中连接到我的.sqlite文件数据库时遇到问题。您可以假设该文件与python文件位于同一目录。文件的名称是“data.sqlite”。我尝试了许多不同的解决方案来解决它,但没有成功。当我试图建立连接时,它声称由于SQLAlchemy数据库URI错误而无法打开数据库,但在我搜索过的所有情况下,甚至使用AI,它们都不起作用。我是这样试着解决的:

conn = sqlite3.connect('sqlite:///data.sqlite')

然而,它给了我这个错误:

conn = sqlite3.connect('sqlite:///data.sqlite')
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file

期望的结果是能够打开到数据库的连接,这样我就可以实际使用它做一些事情。
我尝试解决的方法是只使用数据库名称和文件扩展名作为URI,如下所示:

'data.sqlite'

然而,这使得Sqlite无法识别该链接。然后我尝试使用绝对路径而不使用sqlite语法开始。

C:\\Users\\ADXXXXX\\OneDrive - XXB BXnk XXA\\Documents\\Dashtesting\\data.sqlite'

然而,这导致了与上一个相同的问题。在此之后,我尝试添加Sqlite语法开始:

sqlite:///C:\\Users\\ADXXXXX\\OneDrive - XXB BXnk XXA\\Documents\\Dashtesting\\data.sqlite'

然而,这也不起作用,并抱怨说,它无法打开数据库。

9cbw7uwe

9cbw7uwe1#

我不相信sqlite3连接语法需要sqlite://前缀,这是我通常在SQLAlchemy连接中使用的前缀。
由于该文件位于根目录下,与python脚本一起,使用以下(sqlite3)应该可以正常工作:

import sqlite3

conn = sqlite3.connect('data.sqlite')

如果您使用的是SQLAlchemy,则应执行以下操作:

from sqlalchemy import create_engine
engine = create_engine('sqlite:///data.sqlite')
conn = engine.connect()

相关问题