繁体   English   中英

试图从在Linux上运行的django查询SQL Server - 无法打开lib'/ path / to / libtdsodbc.so'

[英]Trying to query SQL Server from django running on Linux - Can't open lib '/path/to/libtdsodbc.so'

我有一个在PostgreSQL上运行的Django站点,我试图从SQL Server中提取一些数据以填充一些表单字段。

我可以使用Python与pyodbc和FreeTDS连接到SQL Server并从Linux服务器查询数据库,我觉得我可以在django视图中使用相同的连接字符串但是当我尝试时遇到以下错误:

('01000',“[01000] [unixODBC] [驱动程序管理器]无法打开lib'/ path / to / libtdsodbc.so':找不到文件(0)(SQLDriverConnect)”)

我已经尝试过更改文件和文件夹权限,但它并没有让我任何地方,就像我说我可以通过Python而不是Django连接。

我也可以使用django applications文件夹中的命令行进行连接

manage.py shell

任何帮助是极大的赞赏。

更新:

该文件肯定存在,Django和Python都使用相同的ODBC和FreeTDS配置文件。

我不使用virtualenv。

当我执行初始设置时,我确实看到了一些对/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so引用,但我的印象是,这可以解决的任何问题都会阻止python连接,这不是这样吗?

更新2:

我已经尝试过使用pymssql并且我得到了类似的结果,它可以通过Python工作但是使用Django我得到的是这个ImportError:

libct.so.4:无法打开共享对象文件:没有这样的文件或目录

更新 - 已解决

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

对于延迟回答道歉,我记得由于有了新帐户,我无法回答我自己的问题:

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

感谢你的帮助

@ user2725332很抱歉发布答案而不是评论你的答案 - 所以不允许初学者这样做,所以我想这一定是他们首选的评论方法。

你说bradley.ayers指出你正确的方向; 如果您能告诉我们适合您的解决方案,那将会非常有帮助。 是否将包含驱动程序的目录添加到/etc/ld.so.conf文件中,然后运行ldconfig? 这对我的帖子中的问题无效

谢谢,BH

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM