Opened 11 years ago
Closed 10 years ago
#20879 closed Bug (fixed)
BinaryField doesn't work with Oracle on Python3
Reported by: | Sławek Ehlert | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | 1.6-beta-1 |
Severity: | Normal | Keywords: | BinaryField Oracle Python3 |
Cc: | shai@… | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I made a repo as a showcase of this bug https://bitbucket.org/slafs/test-django-binaryfield-oracle-py3
The test case in this repo is taken from Django testsuite.
The exception i'm getting is this:
django.utils.encoding.DjangoUnicodeDecodeError: 'utf-8' codec can't decode byte 0xfe in position 2: invalid start byte. You passed in b'\x00F\xfe' (<class 'bytes'>)
The problem is with handling Oracle params in django.db.backends.oracle.base.OracleParam
class. I think I may have a solution on this.
Change History (3)
comment:1 by , 11 years ago
Cc: | added |
---|
comment:2 by , 11 years ago
Triage Stage: | Unreviewed → Accepted |
---|---|
Type: | Uncategorized → Bug |
comment:3 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Some related fixes were introduced in #22715. The Django test-suite passes on 1.7 and master with python3 and cx_Oracle 5.1.3; so I suspect this has been solved.
If this is not the case, please reopen.
Hi, and thanks for your report.
I am looking forward to seeing what you come up with. Please also specify exactly which Python3 and Oracle versions you are working with -- there are known Unicode problems related to bugs in certain versions of Oracle (#20292).
Also, you should be aware that Oracle under Python3 is generally broken (#20725), so the problem may lie deeper than you think.