我有一个在 PostgreSQL 上运行的 Django 站点,我正在尝试从 SQL Server 中提取一些数据以填充一些表单字段。
我可以连接到 SQL Server 并使用 Python 与 pyodbc 和 FreeTDS 从 Linux 服务器查询数据库,我的印象是我可以在 django 视图中使用相同的连接字符串,但是当我尝试时出现以下错误:
('01000', "[01000] [unixODBC][Driver Manager]无法打开 lib '/path/to/libtdsodbc.so' : 找不到文件 (0) (SQLDriverConnect)")
我已经尝试更改文件和文件夹权限,但它没有让我到任何地方,就像我说我可以通过 Python 连接但不能通过 Django 连接。
我还可以使用 django 应用程序文件夹中的命令行进行连接
manage.py shell
任何帮助是极大的赞赏。
更新:
该文件确实存在,Django 和 Python 都使用相同的 ODBC 和 FreeTDS 配置文件。
我不使用虚拟环境。
我确实看到了一些关于/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
我执行初始设置时的参考,但我的印象是,这可以解决的任何问题都会阻止 python 连接,难道不是这样吗?
更新 2:
我试过使用 pymssql 并且得到了类似的结果,它可以通过 Python 工作,但是使用 Django 我得到了这个 ImportError:
libct.so.4:无法打开共享对象文件:没有这样的文件或目录
更新 - 已解决
@bradley.ayers 在PIL - libjpeg.so.8 中的评论:无法打开共享对象文件:没有这样的文件或目录为我指明了正确的方向。