sunable 发表于 2006-11-15 11:20

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

近期对照着《Django Step by Step 》学习Django.
前面几张挺顺利的。只是到了《Django Step by Step (五)》时需要配置数据库,遇到问题。
文章中介绍是使用sqlite3数据库的,而我要用mssql数据库。
(所用代码为文章中的代码,使用的Django为0.95版)
于是在settings.py中修改数据库的配置

DATABASE_ENGINE = 'ado_mssql'
DATABASE_NAME = 'message'
DATABASE_USER = 'sa'
DATABASE_PASSWORD = 'xxx'
DATABASE_HOST = ''
DATABASE_PORT = ''

LANGUAGE_CODE = 'zh-CN'

DEFAULT_CHARSET = 'GB18030'

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

manage.py syncdb

也产生错误。

sunable 发表于 2006-11-15 11:25

错误的截图

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

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

sunable 发表于 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 编辑 ]

limodou 发表于 2006-11-15 12:24

最后的错误已经与数据库无关了。好象是其它的什么错误,没有遇到过。

sunable 发表于 2006-11-15 13:07

在运行syncdb时,提示缺少win32com.client.

sunable 发表于 2006-11-15 13:49

安装了pywin32-210.win32-py2.5,不出现缺少win32com.client的提示。
但是运行manage.py syncdb,依旧出现错误

Traceback (most recent call last):
File "D:\Home\newtest\manage.py", line 11, in <module>
    execute_manager(settings)
File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
\core\management.py", line 1319, in execute_manager
    execute_from_command_line(action_mapping, argv)
File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
\core\management.py", line 1243, in execute_from_command_line
    action_mapping()
File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
\core\management.py", line 450, in syncdb
    table_list = _get_table_list()
File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
\core\management.py", line 68, in _get_table_list
    return get_introspection_module().get_table_list(cursor)
File "D:\Program Files\Python25\lib\site-packages\django-0.95-py2.5.egg\django
\db\backends\ado_mssql\introspection.py", line 2, in get_table_list
    raise NotImplementedError
NotImplementedError

limodou 发表于 2006-11-15 14:19

看错误是ado_mssql这个模块有问题,不清楚了。没用过mssql,建议你去django邮件列表中问一下。

sunable 发表于 2006-11-15 16:32

对Django打了N多的补丁后,终于出来效果了。
补丁地址:http://code.djangoproject.com/attachment/ticket/2358/mssql_update5.diff
效果如下:

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

sunable 发表于 2006-11-15 16:36

另外运行manage.py syncdb时,提示选择要建立新账户。
但是我选择no,这对以后的《Django Step by Step》中的例子没影响吧?

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

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

limodou 发表于 2006-11-15 21:15

那里创建的帐户是超级用户。如果你在使用django的admin功能,必须先有一个超级用户。现在没有创建,以后还可以创建。前面的例子虽然用到了数据库,但还没有用到admin。

不知道你所说的打补丁是如何打的。如果是没有合并到主干中的patch,那只能手工来打。如果已经合并到主干中了,同步下django,再安装一下就可以了。
页: [1] 2
查看完整版本: [Django]Django如何连接MSSQL数据库?