我正在嘗試運行一些查詢/存盤的程序,這將回傳一個長文本(varchar2/clob),例如:Table/View/etc ddl。將獲得長文本,進行一些操作并存盤在平面檔案中。
我得到低于輸出,這是整個事情的截斷版本(突出顯示):
("DROP VIEW <<view>>;\n\n/* Formatted on 27/05/2022 7:08:33 PM (QP5 v5.354) */\nCREATE OR REPLACE FORCE
VIEW <<view>> ... **(1097 characters truncated)** ... tx', '<<some value>>'),\n 'YYYYMMDD');
\n\n\nGRANT <<rights>>> ON <<view>> TO <<user>>;\n",)
我正在使用以下代碼:
conn_db = create_engine('oracle://<<user>>:<<pass>>@<<db_service>>')`
with conn_db.connect() as connection:
res = connection.execute("<<query/proc>>")
for row in res:
print(row) # this returns the above output
我嘗試在創建引擎時設定陣列大小,但沒有奏效。
uj5u.com熱心網友回復:
print(row)正在截斷字串以進行顯示。實際字串不受影響:
import sqlalchemy as sa
engine = sa.create_engine("oracle cx_oracle://scott:[email protected]/?service_name=xepdb1")
s = " ".join(["spam" for i in range(200)])
with engine.connect() as conn:
row = conn.exec_driver_sql("SELECT :s AS spam FROM DUAL", {"s": s}).one()
print(row)
# ('spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam ... (701 characters truncated) ... spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam',)
#
# [scroll right to see "... (701 characters truncated) ..."]
#
spam = row.spam
print(len(spam)) # 999
print(spam)
# spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam spam
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/482775.html
標籤:python-3.x 数据库 sqlalchemy 脚本 CX-甲骨文
下一篇:存盤檔案哈希和修改時間?
