【发布时间】:2022-01-19 17:15:27
【问题描述】:
我尝试使用sqlanydjango 从Django 连接到Sybase 数据库,但是
我有stuck。一个回答说
sqlany-django is no longer maintained; it was last updated in May 2016.
连接到Sybase 数据库的其他可能性是什么?
操作系统Ubuntu 18.04
django2.2.4
【问题讨论】:
我尝试使用sqlanydjango 从Django 连接到Sybase 数据库,但是
我有stuck。一个回答说
sqlany-django is no longer maintained; it was last updated in May 2016.
连接到Sybase 数据库的其他可能性是什么?
操作系统Ubuntu 18.04
django2.2.4
【问题讨论】:
Sybase 不再维护,Django 不支持它。我建议使用supported databases 之一:
我个人建议使用PostgreSQL - 我认为它是最先进的数据库。如果你使用它,我会推荐使用版本 13,因为版本 14 仍然是新的,我认为它还没有被 Django 官方支持。使用以前的主要版本始终是一个好习惯。同样对于 Django,我建议在其初始发布后大约 4 到 6 个月升级到最新的主要版本。所以今天,这意味着使用 Django 3.2(最新的次要版本,目前是 3.2.11)。
您可以使用django-environ 来定义您在设置中使用的数据库。
【讨论】:
您可以使用freetds module。 GitHub 仓库 5 天前活跃,旨在为 sybase 和 MSQL Server 提供支持。
我将它与 MSQL 一起使用
您可以从there 下载它,并按照this link(Sybase python 模块网站)上的说明进行安装
然后您可以使用these steps 测试您的安装
您也可以尝试不同的 Django 版本。
如果这没有显示任何错误,并且 Django 仍然无法连接到您的数据库,您可以尝试编辑 Django 的源文件,以便不会引发 ImproperlyConfigured 异常(真的很危险,请备份您的DB) 或将 Sybase 迁移到支持的数据库。
【讨论】:
File "/home/pd/pd_videowebapp/env/lib/python3.6/site-packages/django_pyodbc/base.py", line 98, in <module> raise ImproperlyConfigured("Django %d.%d is not supported." % DjangoVersion[:2]) django.core.exceptions.ImproperlyConfigured: Django 2.2 is not supported.
'sybase_database': { 'ENGINE': 'django_pyodbc', 'NAME': 'db_name', 'USER': 'user_name', 'PASSWORD': 'password', 'HOST': '10.60.1.18', 'PORT': '2638', 'OPTIONS': { 'driver': 'FreeTDS', } }
您可以使用 pyodbc。 要安装它。
点安装pyodbc
import pyodbc
cnxn = pyodbc.connect(‘DRIVER={Devart ODBC Driver for ASE};Server=myserver;Port=myport;Database=mydatabase;User ID=myuserid;Password=mypassword;String Types=Unicode’)
供参考:- https://medium.com/@sharma.jayant1992/best-way-to-connect-python-with-sybase-database-76445713efaf
【讨论】: