cx_Oracle의 cursor.callfunc()를 사용하여 객체를 반환하는 Oracle 함수를 호출하고 싶습니다.gloabl 이름 cx가 정의되지 않았습니다.
을 정의되지 않은 에서/그리드 전역 이름 'CX'그러나 나는 확신 :
import cx_Oracle
import json
import web
urls = (
"/", "index",
"/grid", "grid",
)
app = web.application(urls, globals(),web.profiler)
web.config.debug = True
connection = cx_Oracle.Connection("TEST_3D/[email protected]:1521/sdetest")
typeObj = connection.gettype("MDSYS.SDO_GEOMETRY")
class index:
def GET(self):
return "hallo moritz "
class grid:
def GET(self):
web.header('Access-Control-Allow-Origin', '*')
web.header('Access-Control-Allow-Credentials', 'true')
web.header('Content-Type', 'application/json')
cursor = connection.cursor()
cursor.arraysize = 10000 # default = 50
cursor.execute("""SELECT a.id AS building_nr, c.Geometry AS geometry, d.Classname FROM building a, THEMATIC_SURFACE b, SURFACE_GEOMETRY c, OBJECTCLASS d WHERE a.grid_id_400 = 4158 AND a.id = b.BUILDING_ID AND b.LOD2_MULTI_SURFACE_ID = c.ROOT_ID AND c.GEOMETRY IS NOT NULL AND b.OBJECTCLASS_ID = d.ID""")
obj = cursor.fetchone()
obj = obj[1]
print obj
cursor.callfunc("SDO2GEOJSON", cx.Oracle.OBJECT, [obj])
# Aufruf der App
if __name__ == "__main__":
app.run(web.profiler)
오류 메시지 :하지만 당신이 내 코드를 볼 수 있습니다 여기에
작동하지 않습니다 cx_Oracle이 올바르게 설치되었습니다. 또한 나는 처음에 import cx_Oracle을 사용하는데 이것이 효과적이다.
무엇이 잘못 되었나요?
하는 당신은 cursor.callfunc'에서 오타 ("SDO2GEOJSON", cx.Oracle.OBJECT, [OBJ])' – janos