【问题标题】:Connecting to local SQLite DB with pyodbc使用 pyodbc 连接到本地 SQLite DB
【发布时间】:2020-06-22 15:16:57
【问题描述】:

我的计算机磁盘上存储了一个数据库,但我无法使用 pyodbc 连接到它。

我安装了 SQLite3 ODBC 驱动程序并从我的计算机的数据源管理器中获得了一个 DSN,然后我将其缩短为我认为我需要的唯一值,但值得注意的是,无论是否使用.dsn 输出文件中的其余值。

我在以下代码行收到错误 ('HY000', u'[HY000] connect failed (14) (SQLDriverConnect)')...

(此处省略实际路径,替换为路径

cnxn = pyodbc.connect('DRIVER={SQLite3 ODBC Driver};Database={C:\*path*\example.db}')

如何连接到这里的数据库?

【问题讨论】:

  • Python 有built-in support for SQLite。您想使用 pyodbc 有什么特别的原因吗?
  • @GordThompson 是的。我正在使用 example.db 来测试我的脚本,然后再将它与我工作场所中已经成熟的不同 MS Access 数据库一起使用。在我的脚本准备好之前,我不想冒险对真正的数据库进行任何错误的更改。 SQLite 只是最简单的方法。

标签: python sql sqlite odbc pyodbc


【解决方案1】:

SQLite ODBC 的最小连接字符串是

conn_str = (
    r'DRIVER=SQLite3 ODBC Driver;'
    r'DATABASE=C:\__tmp\SQLite\walmart.sqlite;'
)
cnxn = pyodbc.connect(conn_str)

使用 32 位 sqlite3odbc.dll 验证,版本:0.9998,在 Windows 8.1 上。

【讨论】:

  • 不幸的是,这对我不起作用。我正在切换到 MS Access,希望它会给我带来更少的问题。无论如何,我将使用的最终数据库是 MS Access,因此复制/粘贴数据很容易,并且在说完一切后可能更容易切换。无论如何,感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
相关资源
最近更新 更多