Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Oracle DB关闭SqlAlchemy中的十进制自动转换_Oracle_Sqlalchemy_Decimal - Fatal编程技术网

使用Oracle DB关闭SqlAlchemy中的十进制自动转换

使用Oracle DB关闭SqlAlchemy中的十进制自动转换,oracle,sqlalchemy,decimal,Oracle,Sqlalchemy,Decimal,在查询Oracle数据库时,如何告诉SqlAlchemy不要将Oracle数字字段转换为十进制 我试图用SqlAlchemy替换一堆包含手动sql语句的代码。许多查询从数据库中获取500列数字。使用池连接的SQL alchemy版本速度慢了10倍,几乎可以肯定是因为转换为十进制 >>> engine = sqlalchemy.create_engine("oracle+cx_oracle://"+connString) >>> conn = engine.po

在查询Oracle数据库时,如何告诉SqlAlchemy不要将Oracle数字字段转换为十进制

我试图用SqlAlchemy替换一堆包含手动sql语句的代码。许多查询从数据库中获取500列数字。使用池连接的SQL alchemy版本速度慢了10倍,几乎可以肯定是因为转换为十进制

>>> engine = sqlalchemy.create_engine("oracle+cx_oracle://"+connString)
>>> conn = engine.pool.connect()
>>> cursor = conn.cursor()
>>> cursor.execute("""SELECT * FROM MY_TABLE""")
>>> r = cursor.fetchone()
>>> r[-1]
Decimal('0.878935370620606')

我如何告诉方言不要转换成十进制?(旧代码不使用十进制,因此精度的损失并不重要。10的减速因素是。)

我在SqlAlchemy列表中也问了这个问题,得到了一个答案。没有办法,但开发人员很快添加了一个。此外,他还建议使用python库作为标准库十进制模块的快速替代品。

我在SqlAlchemy列表中也问了这个问题,并得到了一个答案。没有办法,但开发人员很快添加了一个。此外,他还建议使用python库作为标准库十进制模块的快速替代品。

我已经尝试将
引擎.dial.支持\u native\u decimal
设置为
False
,但这不起作用。我猜SqlAlchemy正在预计算转换函数。我已经尝试将
引擎.方言.支持\u native\u decimal
设置为
False
,但这不起作用。我猜SqlAlchemy是在预计算转换函数。