Hi,
I am getting this error when trying to do query() and CreateTable() with
XML data type on db2 database. (Using ibm_db_sa)
Any suggestions how to resolve this?
from sqlalchemy import create_engine
from sqlalchemy import MetaData
from sqlalchemy import Table
from sqlalchemy.schema import CreateTable
from sqlalchemy.orm import sessionmaker
db2_engine = create_engine('ibm_db_sa://user:pass@server:50001/DBNAME')
meta = MetaData(bind=db2_engine, schema='udbadm')
table1 = Table('table1', meta, autoload=True)
Session = sessionmaker(bind=db2_engine)
session = Session()
res = session.query(table1).first()
print(res)
# Similar issue with CreateTable:
# print(CreateTable(table1))
Traceback (most recent call last):
File "defect_rep1.py", line 14, in <module>
print(CreateTable(table1))
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\elements.py",
line 506, in __str__
return unicode(self.compile()).encode('ascii', 'backslashreplace')
File "<string>", line 1, in <lambda>
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\elements.py",
line 494, in compile
return self._compiler(dialect, bind=bind, **kw)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\ddl.py",
line 26, in _compiler
return dialect.ddl_compiler(dialect, self, **kw)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 190, in __init__
self.string = self.process(self.statement, **compile_kwargs)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 213, in process
return obj._compiler_dispatch(self, **kwargs)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\visitors.py",
line 81, in _compiler_dispatch
return meth(self, **kw)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 2153, in visit_create_table
(table.description, column.name, ce.args[0])
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\util\compat.py",
line 199, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 2142, in visit_create_table
and not first_pk)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 213, in process
return obj._compiler_dispatch(self, **kwargs)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\visitors.py",
line 81, in _compiler_dispatch
return meth(self, **kw)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 2173, in visit_create_column
first_pk=first_pk
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 2314, in get_column_specification
column.type, type_expression=column)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\compiler.py",
line 261, in process
return type_._compiler_dispatch(self, **kw)
File
"C:\dev\test_ibm_db_sa\venv27\lib\site-packages\sqlalchemy\sql\visitors.py",
line 79, in _compiler_dispatch
raise exc.UnsupportedCompilationError(visitor, cls)
sqlalchemy.exc.CompileError: (in table 'table1', column 'text_xml'):
Compiler <sqlalchemy.sql.compiler.GenericTypeCompiler object at 0x03792BB0>
can't render element of type <class 'ibm_db_sa.base.XML'>
This is how the table is setup in DB2:
CREATE TABLE UDBADM.TABLE1
(
ID_TEST CHARACTER(36) NOT NULL,
TEXT_XML XML
PRIMARY KEY (ID_TEST)
);
Thanks,
SL
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.