Я не могу сохранить данные в базе данных с помощью Django и SQL Anywhere 11

Я подключил django к базе данных sqlwhere 11, я выполнил инструкции на странице SQL Anywhere Django Driver из гитхаба.

Я создал базу данных с помощью этой команды:

C:\>dbinit -z UCA django.db --> (database created successful)

Я запустил сервер базы данных с помощью команды:

C:\>dbsrv11 django.db  --> (database server started successful)

Я создал свой проект с:

C:\>django-admin.py startproject mysite (at this point all it's ok)

Я отредактировал файл mysite / mysite / settings.py и изменил параметр DATABASES следующим образом:

DATABASES = {
    'default': {
        'ENGINE': 'sqlany_django',
        'NAME': 'django',
        'USER': 'dba',
        'PASSWORD': 'sql',
        'OPTIONS': {'eng': 'django'}
    }
}

Когда я хочу синхронизировать базу данных с помощью этой команды:

c:/mysite>python manage.py syncdb

подсказка покажет мне сообщение об ошибке (сообщение об ошибке показано ниже)

Я подключил Sybase Central к django.db. Я вижу, что таблицы созданы. но когда я пытаюсь сохранить данные в таблицы, эти данные не были записаны, даже когда я создал суперпользователя с помощью этой команды:

c:\mysite>python manage.py createsuperuser --username=joe [email protected]
Password:123
Password (again):123
Superuser created successfully.

Я запрашиваю базу данных с помощью:

select * from auth_user

Строки не отображаются. Данные не сохраняются.

У меня есть среда для тестирования с такими функциями:

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

Вот сообщение об ошибке

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

person Elio Clímaco Herrera    schedule 10.06.2014    source источник
comment
Вы заметили первый шаг: установите SQL Anywhere 12.0.1 (или выше)? Драйвер SQL Anywhere Django никогда не использовался с SQL Anywhere версии 11.   -  person Graeme Perrow    schedule 11.06.2014
comment
Да, но движком базы данных моей компании является SQl Anywhere 11, и мне нужно срочно разработать приложение с помощью django. Какое решение вы мне предлагаете, связанное с Django и SQL Anywhere 11   -  person Elio Clímaco Herrera    schedule 11.06.2014
comment
@GraemePerrow будет ли это работать с клиентом SAP IQ 16?   -  person ctrl-alt-delete    schedule 11.01.2016
comment
@toasteez Я сомневаюсь, что это когда-либо пробовали использовать с IQ, но я не знаю ни одной причины, почему это не работает с v16.   -  person Graeme Perrow    schedule 12.01.2016


Ответы (1)


Извините, но для драйвера Django SQL Anywhere требуется SQL Anywhere v12 или выше; вы не можете использовать его с SQL Anywhere v11. Я подтвердил, что драйвер использует функции сервера базы данных, которые не поддерживались в версии 11.

Заявление об ограничении ответственности: я работаю в SAP в области разработки SQL Anywhere.

person Graeme Perrow    schedule 11.06.2014
comment
Хорошо, Грэм, спасибо за ваше время и вашу помощь, но я надеюсь, что драйвер Django SQL Anywhere будет поддерживать старый SQL Anywhere 11 в следующих версиях. - person Elio Clímaco Herrera; 11.06.2014