代码之家  ›  专栏  ›  技术社区  ›  Frasher Gray

无法使用pypyodbc访问SQLite3数据库

  •  0
  • Frasher Gray  · 技术社区  · 2 年前

    我正在将一个python程序从我的Windows笔记本电脑(上面有Microsoft SQL Studio 18)切换到树莓pi,这样我就可以让它全天候运行。在笔记本电脑上,使用pyodbc连接到本地的Microsoft SQL Server运行得很好,但在树莓派上,它不起作用。我首先不得不为pypyodybc关闭pyodybc,因为pyodybc的pip安装有问题。然后,我将数据库复制为.sql文件,并使用SQLite3将其转换为.db文件。然而,pypyodbc.connect()函数中建议的SQLite3的Driver值, Driver=SQLite3 ODBC Driver 正在抛出错误

    ('01000',“[01000][unixODBC][Driver Manager]无法打开库'SQLite3 ODBC Driver':找不到文件”)

    我不知道如何解决这个问题。我试图下载Microsoft SQL Server for Linux Debian 9,但它找不到msodbcsql18库。我尝试安装FreeTDS ODBC,但由于某种原因,我的终端无法识别tsql命令。我也没能找到这个神秘的“odbc.ini”。我一直在为这一转变中最琐碎的一步努力,我需要帮助。你能告诉我的任何事情都将不胜感激。

    1 回复  |  直到 2 年前
        1
  •  1
  •   davidshere    2 年前

    我会退一步问ODBC是否是从树莓派与Sqlite3交互的正确接口。Python应该附带一个sqlite3库作为其标准库的一部分,它应该是一个非常简单的替代品。

    因此,与其拥有:

    conn = pypyodbc.connect(<args)
    

    你会有

    import sqlite3
    
    conn = sqlite3.connect('/path/to/file/db')
    

    该连接对象的工作原理应该与您从pypyodbc获得的连接对象基本相同,假设该库遵循DBAPI标准,而大多数pythonSQL库都是这样做的。

    推荐文章