【问题标题】:Connect Django to Sql server 2019将 Django 连接到 Sql server 2019
【发布时间】:2021-03-29 11:10:28
【问题描述】:

我在 django 中创建了一个新项目,并尝试连接到 sql server 2019。

所以我安装 sql-server-2019 并在安装后检查 ODBC DRIvers 是否正常,如您所见,到目前为止一切正常。

我接下来要做的是 pip install django-pyodbc-azure

我安装了更多的软件包,因为我正在测试我找到的所有东西,到目前为止我总是遇到同样的错误。

这意味着 conn = Database.connect(connstr, django.db.utils.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定预定义驱动程序 (0) (SQLDriverConnect))

这是我来自 django 的 settings.py:

我被困在这里,我什至不知道我能做什么

【问题讨论】:

标签: sql-server django django-database sql-server-2019


【解决方案1】:

我会试试这个:

(1) 将 'dsn' 条目添加到 DATABASES 字典中,如下所示:

DATABASES = {
   'default': {
       'ENGINE': 'sql_server.pyodbc',
       ...
       'OPTIONS': {
           'driver': 'ODBC Driver 17 for SQL Server',
           'dsn': 'avariagest',
       },
   }
}

(2) 创建一个名为“variagest”的“DSN”:

转到“DSN de sistema”选项卡,在 ODBC 管理窗口中,然后添加一个名为“variagest”的条目并带有合适的属性

【讨论】:

  • 当我创建一个 DSN 时,我选择了使用 sql 用户登录的选项,但我收到错误提示“登录用户失败”,我很确定登录是正确的
  • 我相信这与 Django 无关,这可能正是您无法从 Django 项目连接的原因。我会检查数据库(和表)中的用户权限。我对 SQL Server 配置不是很熟悉,但我认为您应该检查“角色”属性
  • 我在创建 dsn 时遇到“共享内存”错误,但已经修复。所以现在当我尝试在我的 Django 项目上进行迁移时,我收到一条错误消息“[28000] [Microsoft][ODBC Driver 17 for SQL Server]Invalid connection string attribute (0)')”和“login failed” .以防万一,我已经检查了我的用户的所有角色。
  • DSN 配置对话框是否提供“测试连接按钮”?万一,你试过了吗?或者,您可以在 Django 上下文之外测试 ODBC 连接以确保其正常工作:“import pyodbc; connstring = 'DSN=mydsn;Uid=my_user_id;Pwd=my_password;'; conn = pyodbc.connect(connstring); print( '完成')"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2022-09-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多