首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sqlanydb窗口无法装载dbcapi

sqlanydb窗口无法装载dbcapi
EN

Stack Overflow用户
提问于 2018-10-09 22:51:52
回答 3查看 3.7K关注 0票数 4

我正在尝试通过python连接到SQL Anywhere数据库。我已经创建了DSN,可以使用命令提示符通过dbisql - c "DNS=myDSN"连接到数据库。当我尝试使用con = sqlanydb.connect(DSN= "myDSN")通过python连接时,我得到

代码语言:javascript
复制
`Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    con = sqlanydb.connect(DSN= "RPS Integration")
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 522, in connect
    return Connection(args, kwargs)
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 538, in __init__
    parent = Connection.cls_parent = Root("PYTHON")
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 464, in __init__
    'libdbcapi_r.dylib')
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 456, in load_library
    raise InterfaceError("Could not load dbcapi.  Tried: " + ','.join(map(str, names)))
InterfaceError: (u'Could not load dbcapi.  Tried: None,dbcapi.dll,libdbcapi_r.so,libdbcapi_r.dylib', 0)`
EN

回答 3

Stack Overflow用户

发布于 2018-12-19 01:23:54

我能够解决这个问题。我从来没能用过sqlanydb.connect。我最终使用了pyodbc。所以我的最后一个连接字符串是con = pydobc.connect(dsn="myDSN")。我认为sqlanydb只有在sqlanydb 17中才具有完整的功能,而我使用的是以前的版本。

票数 1
EN

Stack Overflow用户

发布于 2019-05-11 02:20:41

遇到OP显示的回溯的一种方法是运行64位Python解释器,它无法加载32位dbcapi.dll。尝试使用"py -X-32“启动以强制使用32位引擎,或者使用32位python引擎重新安装。

不幸的是,sqlanydb试图聪明地查找dbcapi的代码最终也会吞噬加载过程中抛出的异常。sqlanydb的作者可能认为加载失败意味着找不到文件,但事实并非如此。

票数 0
EN

Stack Overflow用户

发布于 2021-07-20 23:09:41

根据Sybase的本地安装方式,也可能是Python模块在PATH中查找dbcapi.dll时确实找不到(正确的)库。一种快速的解决方法是创建一个包含正确路径的新SQLANY_API_DLL环境变量(that's the initial None in the names the error message says it tried using;它优先于所有其他环境变量),通常类似于%SQLANY16%\Bin64\dbcapi.dll,具体取决于您安装的版本(Sybase通常会创建一个环境变量,指向每个版本的安装文件夹)。

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

https://stackoverflow.com/questions/52723924

复制
相关文章

相似问题

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