V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
IVeverKB
V2EX  ›  Python

Python /Django 用人大金仓数据库 有有经验的吗

  •  
  •   IVeverKB · 2022-12-19 17:06:31 +08:00 · 1010 次点击
    这是一个创建于 691 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在金仓官网下载了 python 连接金仓数据库的驱动包 ksycopg2 ,并阅读了官方文档,但还是卡在了 python 导入 ksycopg2 包这一步。

    系统是 windows x64 ,金仓官方提供的 python 驱动包只支持 python3.5 也装了,VC12 运行时也装了。按照指导将 ksycopg2 文件夹放在了 python 的 site-packages 文件夹下。

    然后就是测试该包能不能导入,卡在这里。pip list 一下也没有这个包,cmd 进入 python 模式 import ksycopg2 报错

    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\***\AppData\Local\Programs\Python\Python35\lib\site-packages\ksycopg2\__init__.py", line 51, in <module>
        from ksycopg2._ksycopg import (                     # noqa
    ImportError: DLL load failed: 找不到指定的模块。
    >>>
    

    是我哪里操作不对吗= =

    12 条回复    2023-02-27 10:08:21 +08:00
    coolair
        1
    coolair  
       2022-12-19 17:19:11 +08:00
    我用过,但是我用的 Python 版本人大金仓没提供驱动,我用 psycopg2 改成了适配人大金仓数据库,另外 Django 数据库的 backends 也得加个。
    IVeverKB
        2
    IVeverKB  
    OP
       2022-12-19 17:20:45 +08:00
    IVeverKB
        3
    IVeverKB  
    OP
       2022-12-19 17:23:28 +08:00
    @coolair #1 !就是说[用 psycopg2 改成了适配人大金仓数据库]这个难吗,本人完全没有接触过类似操作,能不能点拨一下。(还有 django 数据库的 backend 您也是自己写的吗,因为我看官方有提供但不知道能不能用
    victorc
        4
    victorc  
       2022-12-19 18:05:00 +08:00
    windows 容易出现这个问题,依赖包没有装完整,可以先装一个和 python3.5 对应的 anaconda ,用它的环境
    coolair
        5
    coolair  
       2022-12-19 20:17:42 +08:00   ❤️ 1
    @IVeverKB 不难,很简单,基本就是全局替换,搜一下有一篇文章是专门讲这个的。backend 也很容易改,直接拿人大金仓的过来对着改就行了。
    unknowfly
        6
    unknowfly  
       2022-12-20 08:41:44 +08:00
    应该有个_ksycopg.cp35-win_amd64.pyd 的文件,放到 ksycopg2 目录里
    unknowfly
        7
    unknowfly  
       2022-12-20 08:43:08 +08:00
    @coolair 有点兴趣,可以发一下文章链接吗
    IVeverKB
        8
    IVeverKB  
    OP
       2022-12-20 09:51:26 +08:00
    @unknowfly #6 这个文件确实有,但就是报我说的那个错,所以我很疑惑。本人为了用这个数据库都打算用 python3.5 写代码了,谁知道导入包这一步就卡住了。
    IVeverKB
        9
    IVeverKB  
    OP
       2022-12-20 09:52:21 +08:00
    @coolair #5 非常感谢!我先去搞搞。同问文章链接,或者提供一下搜索关键字也可以!
    ychenenen
        10
    ychenenen  
       2022-12-20 10:28:04 +08:00
    说个偏门的,用过 java 适配人大金仓,可以用 postgreSQL 的驱动,基本上完美适配
    IVeverKB
        11
    IVeverKB  
    OP
       2023-02-24 15:14:31 +08:00
    @coolair #1 追问一下。python3.8 环境下,下载了 2.9.5 版本的 psycopg2 ,将 site-packages 下的 psycopg2 文件内容(包括相关文件名)都改为 ksycopg2 ,还是会报错诶。问题应该出在_psycopg.cp35-win_amd64.pyd 这个文件上,感觉直接改名为_ksycopg.cp35-win_amd64.pyd 不太行。求助下卡在这一步应该怎么做啊?
    IVeverKB
        12
    IVeverKB  
    OP
       2023-02-27 10:08:21 +08:00
    忙活了半天,发现一个捷径。Django 中直接用 psycopg2 这个包就行了,其他代码也不需要变,settings.py 中 DATABASES 的设置里,ENGINE 是 psycopg2 的不变,其他设置改为人大金仓数据库的设置(数据库名,用户名,密码,主机号和端口号),可以完美链接。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1137 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.