#12827: ORA-12899 error with oracle syncdb
--------------------------------------------------------------+-------------
Reporter: Jacek Furmankiewicz <[email protected]> | Owner:
nobody
Status: closed | Milestone:
Component: Database layer (models, ORM) | Version:
1.1
Resolution: duplicate | Keywords:
oracle syncdb
Stage: Unreviewed | Has_patch:
0
Needs_docs: 0 | Needs_tests:
0
Needs_better_patch: 0 |
--------------------------------------------------------------+-------------
Changes (by kmtracey):
* status: new => closed
* resolution: => duplicate
Old description:
> I pointed settings.py to an Oracle DB and tried to run syncdb for the
> first time.
> Got this error:
>
> cx_Oracle.DatabaseError: ORA-12899: value too large for column
> "CENTRAL_JACEKF"."AUTH_PERMISSION"."NAME" (actual: 60, maximum: 50)
>
> Traceback (most recent call last):
> File "./manage.py", line 12, in <module>
> execute_manager(settings)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/__init__.py", line
> 362, in execute_manager
> utility.execute()
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/__init__.py", line
> 303, in execute
> self.fetch_command(subcommand).run_from_argv(self.argv)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line
> 195, in run_from_argv
> self.execute(*args, **options.__dict__)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line
> 222, in execute
> output = self.handle(*args, **options)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line
> 351, in handle
> return self.handle_noargs(**options)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/commands/syncdb.py",
> line 99, in handle_noargs
> emit_post_sync_signal(created_models, verbosity, interactive)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/core/management/sql.py", line 205,
> in emit_post_sync_signal
> interactive=interactive)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/dispatch/dispatcher.py", line 166,
> in send
> response = receiver(signal=self, sender=sender, **named)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/contrib/auth/management/__init__.py",
> line 28, in create_permissions
> defaults={'name': name, 'content_type': ctype})
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/manager.py", line 123,
> in get_or_create
> return self.get_query_set().get_or_create(**kwargs)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/query.py", line 335, in
> get_or_create
> obj.save(force_insert=True)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/base.py", line 410, in
> save
> self.save_base(force_insert=force_insert, force_update=force_update)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/base.py", line 495, in
> save_base
> result = manager._insert(values, return_id=update_pk)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/manager.py", line 177,
> in _insert
> return insert_query(self.model, values, **kwargs)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/query.py", line 1087, in
> insert_query
> return query.execute_sql(return_id)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/sql/subqueries.py", line
> 320, in execute_sql
> cursor = super(InsertQuery, self).execute_sql(None)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/models/sql/query.py", line
> 2369, in execute_sql
> cursor.execute(sql, params)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/backends/util.py", line 19, in
> execute
> return self.cursor.execute(sql, params)
> File "/usr/local/lib/python2.6/dist-
> packages/Django-1.1.1-py2.6.egg/django/db/backends/oracle/base.py", line
> 443, in execute
> raise e
> cx_Oracle.DatabaseError: ORA-12899: value too large for column
> "CENTRAL_JACEKF"."AUTH_PERMISSION"."NAME" (actual: 60, maximum: 50)
>
> Ununtu 9.10. Oracle 10g
New description:
I pointed settings.py to an Oracle DB and tried to run syncdb for the
first time.
Got this error:
{{{
cx_Oracle.DatabaseError: ORA-12899: value too large for column
"CENTRAL_JACEKF"."AUTH_PERMISSION"."NAME" (actual: 60, maximum: 50)
Traceback (most recent call last):
File "./manage.py", line 12, in <module>
execute_manager(settings)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/__init__.py", line
362, in execute_manager
utility.execute()
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/__init__.py", line
303, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 195,
in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 222,
in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/base.py", line 351,
in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/commands/syncdb.py",
line 99, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/core/management/sql.py", line 205,
in emit_post_sync_signal
interactive=interactive)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/dispatch/dispatcher.py", line 166,
in send
response = receiver(signal=self, sender=sender, **named)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/contrib/auth/management/__init__.py",
line 28, in create_permissions
defaults={'name': name, 'content_type': ctype})
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/manager.py", line 123, in
get_or_create
return self.get_query_set().get_or_create(**kwargs)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/query.py", line 335, in
get_or_create
obj.save(force_insert=True)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/base.py", line 410, in
save
self.save_base(force_insert=force_insert, force_update=force_update)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/base.py", line 495, in
save_base
result = manager._insert(values, return_id=update_pk)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/manager.py", line 177, in
_insert
return insert_query(self.model, values, **kwargs)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/query.py", line 1087, in
insert_query
return query.execute_sql(return_id)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/sql/subqueries.py", line
320, in execute_sql
cursor = super(InsertQuery, self).execute_sql(None)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/models/sql/query.py", line 2369,
in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/backends/util.py", line 19, in
execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.6/dist-
packages/Django-1.1.1-py2.6.egg/django/db/backends/oracle/base.py", line
443, in execute
raise e
cx_Oracle.DatabaseError: ORA-12899: value too large for column
"CENTRAL_JACEKF"."AUTH_PERMISSION"."NAME" (actual: 60, maximum: 50)
}}}
Ununtu 9.10. Oracle 10g
Comment:
Reformatted description -- please use WikiFormatting and preview before
submitting.
This really has nothing to do with Oracle specifically -- any DB that
enforces the defined limit will show the problem. The problem of
permission names being rather short is already noted in #8162.
--
Ticket URL: <http://code.djangoproject.com/ticket/12827#comment:3>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.