V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · Dec 19, 2022 · 1988 views
    This topic created in 1239 days ago, the information mentioned may be changed or developed.

    在金仓官网下载了 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 replies    2023-02-27 10:08:21 +08:00
    coolair
        1
    coolair  
       Dec 19, 2022
    我用过,但是我用的 Python 版本人大金仓没提供驱动,我用 psycopg2 改成了适配人大金仓数据库,另外 Django 数据库的 backends 也得加个。
    IVeverKB
        2
    IVeverKB  
    OP
       Dec 19, 2022
    IVeverKB
        3
    IVeverKB  
    OP
       Dec 19, 2022
    @coolair #1 !就是说[用 psycopg2 改成了适配人大金仓数据库]这个难吗,本人完全没有接触过类似操作,能不能点拨一下。(还有 django 数据库的 backend 您也是自己写的吗,因为我看官方有提供但不知道能不能用
    victorc
        4
    victorc  
       Dec 19, 2022
    windows 容易出现这个问题,依赖包没有装完整,可以先装一个和 python3.5 对应的 anaconda ,用它的环境
    coolair
        5
    coolair  
       Dec 19, 2022   ❤️ 1
    @IVeverKB 不难,很简单,基本就是全局替换,搜一下有一篇文章是专门讲这个的。backend 也很容易改,直接拿人大金仓的过来对着改就行了。
    unknowfly
        6
    unknowfly  
       Dec 20, 2022
    应该有个_ksycopg.cp35-win_amd64.pyd 的文件,放到 ksycopg2 目录里
    unknowfly
        7
    unknowfly  
       Dec 20, 2022
    @coolair 有点兴趣,可以发一下文章链接吗
    IVeverKB
        8
    IVeverKB  
    OP
       Dec 20, 2022
    @unknowfly #6 这个文件确实有,但就是报我说的那个错,所以我很疑惑。本人为了用这个数据库都打算用 python3.5 写代码了,谁知道导入包这一步就卡住了。
    IVeverKB
        9
    IVeverKB  
    OP
       Dec 20, 2022
    @coolair #5 非常感谢!我先去搞搞。同问文章链接,或者提供一下搜索关键字也可以!
    ychenenen
        10
    ychenenen  
       Dec 20, 2022
    说个偏门的,用过 java 适配人大金仓,可以用 postgreSQL 的驱动,基本上完美适配
    IVeverKB
        11
    IVeverKB  
    OP
       Feb 24, 2023
    @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
       Feb 27, 2023
    忙活了半天,发现一个捷径。Django 中直接用 psycopg2 这个包就行了,其他代码也不需要变,settings.py 中 DATABASES 的设置里,ENGINE 是 psycopg2 的不变,其他设置改为人大金仓数据库的设置(数据库名,用户名,密码,主机号和端口号),可以完美链接。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2851 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 15:33 · PVG 23:33 · LAX 08:33 · JFK 11:33
    ♥ Do have faith in what you're doing.