django、python连接Dm达梦数据库配置(win10)

一、问题

针对启动python项目报错:

django.core.exceptions.ImproperlyConfigured: 'django_dmPython' isn't an available database backend or couldn't be imported. Check the above exception. To use one of the built-in backends, use 'django.db.backends.XXX', where XXX is one of:
    'mysql', 'oracle', 'postgresql', 'sqlite3'

二、解决办法

1.安装dmpython(源码包方式)

     进入dm\drivers\python\dmPython(安装Dm的本地目录),然后执行 python  setup.py install  (注意本地安装版本情况)。此时如果出现下图错误(需要安装Visual Studio):

  错误解决方法:去官网下载安装文件(需要拥有一个微软的账号)打开链接             Home - Visual Studio Subscriptions Portal,登录账号,点击进入下载页面

     

 下载完成后解压,找到VisualCppBuildTools_Full.exe 。直接点击运行,默认安装。安装完成后再到达梦目录下执行python setup.py install,如下图则安装成功。

2. 编译安装 Django_dmPython

  进入本地 dm\drivers\python下进入相应的django目录中:同样执行python setup.py install命令进行安装。(尽量与django版本一致)

   注意:如果启动项目报错(执行完成下边所有配置后启动报错)

 这时候找到本地安装的django_dmpython目录中的compiler.py。注释掉与Random相关信息。(视情况操作)。

 2.配置
1)、配置dpi环境变量

 环境变量中找到DM_HOME,编辑属性为本地的dpi路径

 2)、python3.8配置

3) 、将达梦数据库安装目录中的drivers/dpi下的所有文件复制到D:\python\python3.9\Lib\site-packages\dmPython-2.4.5-py3.9-win-amd64.egg下。

三、后期应用可能遇到问题

1. 执行接口时可能遇到报错:

 

 主要django基础代码适配问题修改(dmpython3.1.7版本):

  site-packages\django_dmPython\operations.py 289

由原来的 

query = 'select %s from %s where rowid = %s' %(self.quote_name(pk_name), self.quote_name(table_name), cursor.lastrowid)改为:

query = 'select %s from %s where rowid = %s' %(self.quote_name(pk_name), self.quote_name(table_name), "'"+cursor.lastrowid+"'")

  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Django中,你可以使用多个数据库连接连接配置文件之外的其他数据库。这可以通过在settings.py文件中进行相应的配置来实现。 首先,在settings.py文件中定义数据库连接配置。例如,你可以添加以下代码: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'myuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', }, 'second_db': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'myotherdatabase', 'USER': 'myuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', } } ``` 在上面的示例中,我们定义了两个数据库连接:`default`和`second_db`。你可以根据自己的需求对其进行命名,并提供相应的数据库连接配置。 接下来,当你需要使用第二个数据库连接时,可以使用`using()`方法来指定连接。例如: ```python from django.db import models class MyModel(models.Model): # 字段定义... def some_method(self): second_db_obj = MyOtherModel.objects.using('second_db').get(id=1) # 使用第二个数据库连接进行查询 ``` 在上面的示例中,我们使用`using('second_db')`方法指定了要使用的数据库连接,然后使用`get()`方法从`MyOtherModel`模型中查询数据。 请注意,在使用多个数据库连接时,你需要确保正确配置了每个数据库连接信息,并且在相应的操作中使用`using()`方法来指定要使用的数据库连接。 希望这可以帮助你在Django中使用连接配置文件之外的其他数据库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值