首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我无法使用Django和11将数据保存到数据库

我无法使用Django和11将数据保存到数据库
EN

Stack Overflow用户
提问于 2014-06-10 19:03:42
回答 1查看 471关注 0票数 1

我已经将django连接到sql 11数据库,我遵循了来自github的页面驱动程序上的说明。

我使用以下命令创建了数据库:

代码语言:javascript
复制
C:\>dbinit -z UCA django.db --> (database created successful)

我已经使用命令启动了数据库服务器:

代码语言:javascript
复制
C:\>dbsrv11 django.db  --> (database server started successful)

我创建了我的项目:

代码语言:javascript
复制
C:\>django-admin.py startproject mysite (at this point all it's ok)

我编辑了mysite/mysite/setings.py文件,并用以下内容更改了数据库设置:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'sqlany_django',
        'NAME': 'django',
        'USER': 'dba',
        'PASSWORD': 'sql',
        'OPTIONS': {'eng': 'django'}
    }
}

当我想使用以下命令同步数据库时:

代码语言:javascript
复制
c:/mysite>python manage.py syncdb

提示显示一条错误消息(错误消息如下所示)

我已经将Sybase Central连接到django.db,我看到创建了表。但是,当我尝试将数据保存到表中时,即使使用以下命令创建了超级用户,也不会记录这些数据:

代码语言:javascript
复制
c:\mysite>python manage.py createsuperuser --username=joe --email=joe@example.com
Password:123
Password (again):123
Superuser created successfully.

我查询数据库时:

代码语言:javascript
复制
select * from auth_user

不显示任何行,数据未保存

我有一个环境来测试这些特性:

代码语言:javascript
复制
O.S.: Windows XP   
DB Engine: SQL Anywhere 11 with EBF 3069 
Python 2.7
Django 1.6.1 
Setuptools installed 
PIP installed 
sqlanydb installed
sqlany-django installed

下面是错误消息

代码语言:javascript
复制
C:\mysite>python manage.py syncdb
Creating tables ...
Creating table django_admin_log
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_groups
Creating table auth_user_user_permissions
Creating table auth_user
Creating table django_content_type
Creating table django_session
Creating table Personal_persona
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
399, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 242,
 in run_from_argv
    self.execute(*args, **options.__dict__)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 285,
 in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 415,
 in handle
    return self.handle_noargs(**options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 112, in handle_noargs
    emit_post_sync_signal(created_models, verbosity, interactive, db)
  File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 216,
in emit_post_sync_signal
    interactive=interactive, db=db)
  File "C:\Python27\lib\site-packages\django\dispatch\dispatcher.py", line 185,
in send
    response = receiver(signal=self, sender=sender, **named)
  File "C:\Python27\lib\site-packages\django\contrib\auth\management\__init__.py
", line 101, in create_permissions
    auth_app.Permission.objects.using(db).bulk_create(perms)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 356, in b
ulk_create
    self._batched_insert(objs_without_pk, fields, batch_size)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 835, in _
batched_insert
    using=self.db)
  File "C:\Python27\lib\site-packages\django\db\models\manager.py", line 232, in
 _insert
    return insert_query(self.model, objs, fields, **kwargs)
  File "C:\Python27\lib\site-packages\django\db\models\query.py", line 1511, in
insert_query
    return query.get_compiler(using=using).execute_sql(return_id)
  File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py", line 90
3, in execute_sql
    cursor.execute(sql, params)
  File "C:\Python27\lib\site-packages\django\db\backends\util.py", line 69, in e
xecute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "C:\Python27\lib\site-packages\django\db\backends\util.py", line 53, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python27\lib\site-packages\django\db\utils.py", line 99, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "C:\Python27\lib\site-packages\django\db\backends\util.py", line 53, in e
xecute
    return self.cursor.execute(sql, params)
  File "C:\Python27\lib\site-packages\sqlany_django\base.py", line 87, in execut
e
    ret = self.cursor.execute(trace(query), trace(args))
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 714, in execute
    self.executemany(operation, [parameters])
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 685, in executemany
    bind_count = self.api.sqlany_num_params(self.stmt)
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 619, in __stmt_get
    self.handleerror(*self.parent.error())
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 613, in handleerror
    eh(self.parent, self, errorclass, errorvalue)
  File "C:\Python27\lib\site-packages\sqlanydb.py", line 342, in standardErrorHa
ndler
    raise errorclass(errorvalue)
django.db.utils.OperationalError: Syntax error near ',' on line 1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-11 16:04:43

对不起,驱动程序需要v12或更高版本;您不能将它与v11一起使用。我已经确认驱动程序使用了版本11中不支持的数据库服务器的功能。

免责声明:我在SQL工程中为SAP工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24148948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档