1

我有一个在 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 中的评论:无法打开共享对象文件:没有这样的文件或目录为我指明了正确的方向。

4

2 回答 2

2

为延迟回答道歉,据我所知,由于有一个新帐户,我无法回答我自己的问题:

@bradley.ayers 在PIL - libjpeg.so.8 中的评论:无法打开共享对象文件:没有这样的文件或目录为我指明了正确的方向。

感谢你的帮助

于 2013-11-11T17:19:34.003 回答
0

可能您在代码中更改了“/usr/lib/odbc/libtdsodbc.so”中的库路径“/path/to/libtdsodbc.so”或文件“libtdsodbc.so”所在的路径。

于 2013-08-28T13:15:36.913 回答