免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11060 | 回复: 14
打印 上一主题 下一主题

[Django]Django如何连接MSSQL数据库? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-15 11:20 |只看该作者 |倒序浏览
近期对照着《Django Step by Step 》学习Django.
前面几张挺顺利的。只是到了《Django Step by Step (五)》时需要配置数据库,遇到问题。
文章中介绍是使用sqlite3数据库的,而我要用mssql数据库。
(所用代码为文章中的代码,使用的Django为0.95版)
于是在settings.py中修改数据库的配置

  1. DATABASE_ENGINE = 'ado_mssql'
  2. DATABASE_NAME = 'message'
  3. DATABASE_USER = 'sa'
  4. DATABASE_PASSWORD = 'xxx'
  5. DATABASE_HOST = ''
  6. DATABASE_PORT = ''

  7. LANGUAGE_CODE = 'zh-CN'

  8. DEFAULT_CHARSET = 'GB18030'
复制代码

但是在提交输入的USERNAME后,就出现错误。
另外连进行

  1. manage.py syncdb
复制代码

也产生错误。

论坛徽章:
0
2 [报告]
发表于 2006-11-15 11:25 |只看该作者
错误的截图

提示中说明:Error loading adodbapi module: No module named adodbapi
是否需要安装Module?

[ 本帖最后由 sunable 于 2006-11-17 08:58 编辑 ]

django_error5.png (6.33 KB, 下载次数: 81)

django_error5.png

论坛徽章:
0
3 [报告]
发表于 2006-11-15 11:48 |只看该作者
在安装了ADODBAPI后,下载的是2.0.1版,但是PYTHON/Lib/site-packages下生成的是adodbapi-1.0.1-py2.5.egg-info

刷新了页面,出现的错误是

[ 本帖最后由 sunable 于 2006-11-15 11:53 编辑 ]

django_error5_1.png (6.3 KB, 下载次数: 55)

django_error5_1.png

论坛徽章:
0
4 [报告]
发表于 2006-11-15 12:24 |只看该作者
最后的错误已经与数据库无关了。好象是其它的什么错误,没有遇到过。

论坛徽章:
0
5 [报告]
发表于 2006-11-15 13:07 |只看该作者
在运行syncdb时,提示缺少win32com.client.

论坛徽章:
0
6 [报告]
发表于 2006-11-15 13:49 |只看该作者
安装了pywin32-210.win32-py2.5,不出现缺少win32com.client的提示。
但是运行manage.py syncdb,依旧出现错误

  1. Traceback (most recent call last):
  2.   File "D:\Home\newtest\manage.py", line 11, in <module>
  3.     execute_manager(settings)
  4.   File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
  5. \core\management.py", line 1319, in execute_manager
  6.     execute_from_command_line(action_mapping, argv)
  7.   File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
  8. \core\management.py", line 1243, in execute_from_command_line
  9.     action_mapping[action]()
  10.   File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
  11. \core\management.py", line 450, in syncdb
  12.     table_list = _get_table_list()
  13.   File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
  14. \core\management.py", line 68, in _get_table_list
  15.     return get_introspection_module().get_table_list(cursor)
  16.   File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
  17. \db\backends\ado_mssql\introspection.py", line 2, in get_table_list
  18.     raise NotImplementedError
  19. NotImplementedError
复制代码

论坛徽章:
0
7 [报告]
发表于 2006-11-15 14:19 |只看该作者
看错误是ado_mssql这个模块有问题,不清楚了。没用过mssql,建议你去django邮件列表中问一下。

论坛徽章:
0
8 [报告]
发表于 2006-11-15 16:32 |只看该作者
对Django打了N多的补丁后,终于出来效果了。
补丁地址:http://code.djangoproject.com/at ... /mssql_update5.diff
效果如下:

[ 本帖最后由 sunable 于 2006-11-15 16:57 编辑 ]

django_5_1.png (1.01 KB, 下载次数: 68)

django_5_1.png

django_5_2.png (1.13 KB, 下载次数: 62)

django_5_2.png

论坛徽章:
0
9 [报告]
发表于 2006-11-15 16:36 |只看该作者
另外运行manage.py syncdb时,提示选择要建立新账户。
但是我选择no,这对以后的《Django Step by Step》中的例子没影响吧?

对Django打补丁有什么工具、命令的,我是手工修改的?

[ 本帖最后由 sunable 于 2006-11-15 16:39 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2006-11-15 21:15 |只看该作者
那里创建的帐户是超级用户。如果你在使用django的admin功能,必须先有一个超级用户。现在没有创建,以后还可以创建。前面的例子虽然用到了数据库,但还没有用到admin。

不知道你所说的打补丁是如何打的。如果是没有合并到主干中的patch,那只能手工来打。如果已经合并到主干中了,同步下django,再安装一下就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP