Description
- What versions are you using?
Oracle Database 19c (NLS_CHARACTERSET = CL8MSWIN1251)
platform.platform: Windows-11-10.0.22631-SP0
sys.maxsize > 2**32: True
platform.python_version: 3.12.4
oracledb.version: 2.3.0b1 (commit: c5c6b4f)
-
Is it an error or a hang or a crash?
It's error -
What error(s) or behavior you are seeing?
File "src\oracledb\impl/thin/dbobject.pyx", line 489, in oracledb.thin_impl.ThinDbObjectImpl.get_attr_value
File "src\oracledb\impl/thin/dbobject.pyx", line 192, in oracledb.thin_impl.ThinDbObjectImpl._ensure_unpacked
File "src\oracledb\impl/thin/dbobject.pyx", line 308, in oracledb.thin_impl.ThinDbObjectImpl._unpack_data
File "src\oracledb\impl/thin/dbobject.pyx", line 346, in oracledb.thin_impl.ThinDbObjectImpl._unpack_data_from_buf
File "src\oracledb\impl/thin/dbobject.pyx", line 377, in oracledb.thin_impl.ThinDbObjectImpl._unpack_value
File "src\oracledb\impl/base/buffer.pyx", line 746, in oracledb.base_impl.Buffer.read_str
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xdf in position 0: unexpected end of data
- Does your application call init_oracle_client()?
No, Thin
- Include a runnable Python script that shows the problem.
import oracledb
def main():
oracledb.defaults.config_dir = ''
with oracledb.connect(user='', password='', dsn='', mode=oracledb.AUTH_MODE_SYSDBA) as c:
with c.cursor() as cur:
sql = "select sys.tts_error_t('Я') from dual"
for v in cur.execute(sql):
print(v[0].VIOLATIONS)
if __name__ == "__main__":
main()