首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python和17“无法加载dbcapi”的问题

Python和17“无法加载dbcapi”的问题
EN

Stack Overflow用户
提问于 2019-11-18 19:22:21
回答 1查看 1.3K关注 0票数 2

我安装了SQL 17客户机。我运行/opt/sqlanywhere17 17/ ran 64/sa_config.sh,但仍然存在sqlanydb.InterfaceError问题:(‘无法加载dbcapi。

代码语言:javascript
复制
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
import ctypes
import sqlanydb
conn = sqlanydb.connect(UserID='XXX', Password='XXX', Host='10.10.10.10', DatabaseName='XXX', ServerName='XXX')
curs = conn.cursor()
curs.close()
conn.close()

日志:

代码语言:javascript
复制
Traceback (most recent call last):
  File "./systest.py", line 6, in <module>
    conn = sqlanydb.connect(UserID='XXX', Password='XXX', Host='10.10.10.10', DatabaseName='XXX', ServerName='XXX')
  File "/usr/local/lib/python3.6/site-packages/sqlanydb.py", line 522, in connect
    return Connection(args, kwargs)
  File "/usr/local/lib/python3.6/site-packages/sqlanydb.py", line 538, in __init__
    parent = Connection.cls_parent = Root("PYTHON")
  File "/usr/local/lib/python3.6/site-packages/sqlanydb.py", line 464, in __init__
    'libdbcapi_r.dylib')
  File "/usr/local/lib/python3.6/site-packages/sqlanydb.py", line 456, in load_library
    raise InterfaceError("Could not load dbcapi.  Tried: " + ','.join(map(str, names)))
sqlanydb.InterfaceError: ('Could not load dbcapi.  Tried: None,dbcapi.dll,libdbcapi_r.so,libdbcapi_r.dylib', 0)

谢谢你提前提供帮助

EN

回答 1

Stack Overflow用户

发布于 2022-01-11 13:10:39

面对同样的问题,我花了两天的时间解决了这个问题。

这是解决方案,您的解决方案在第2点。

  1. 如果在Linux或Unix平台上运行,则需要在启动Python之前设置环境。所以,下载sql anywhere12 / 17并安装。(你做了这件事)
  2. 打开终端并运行sa_config{.sh|.csh}脚本,以便您的Python应用程序能够找到所需的库(包括libdbcapi12.dll)。确保您在同一个终端上运行sa_config.sh文件和app.py,否则您将面临相同的问题。

例如,我已经创建了首先运行的bash文件。

代码语言:javascript
复制
. /opt/sqlanywhere17/bin32/sa_config.sh
python app.py

来源:完整答案可在sqlanywhere论坛上找到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58921495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档