2017-11-22 19 views
0

파이썬을 오라클에 연결했습니다.python을 사용하여 oracle에 테이블의 속성을 어떻게 표시합니까?

파이썬을 사용하여 테이블의 속성을 표시하려고합니다. 즉, 테이블 스키마를 표시하려고합니다. 내가 문을 '설명'사용하고 있지만 실행하는 동안 그것이 나에게 ' Invalid SQL Statement'.

내가했던 오류를 제공합니다 다음

queryString = 'Describe Customer' 
onCursor.execute(queryString) 

"고객은"이제

+0

:

cnn = cx_Oracle.connect(cnn_str) cursor = cnn.cursor() cursor.execute("SELECT * FROM dual") print(cursor.description) cursor.execute("select * from ALL_TAB_COLUMNS where table_name = 'DUAL'") print(cursor.fetchall()) cursor.close() 

는 출력을 provede 것입니다. 어떻게했는지 설명해주십시오. :) – beruic

+0

또한 데이터베이스를 먼저 사용해야 할 수도 있습니까? – beruic

+0

나는 그것을했지만 작동하지 않는다 : ( –

답변

0

this 테이블 이름은 약간은 오래된 출처이지만, 귀하의 문제는 describe이 실제로는 쿼리가 아니라고 생각합니다.

데이터 사전에서 정보를 가져 오십시오. Oracle 12.2의 설명서는 here입니다.

+0

옛 소스의 해결책이 효과적이다. 도움을 주셔서 감사합니다. –

+0

당신은 환영합니다 :) – beruic

0

SQL 문 열 설명이 필요한 경우 cursor.description을 사용하십시오. 당신이 ALL_TAB_COLUMNS 오라클보기에서 선택 정확한 테이블 스키마를해야하는 경우 : 당신은 아마 오라클에 파이썬을 연결

[('DUMMY', <class 'cx_Oracle.STRING'>, 1, 4, None, None, 1)] 
[('SYS', 'DUAL', 'DUMMY', 'VARCHAR2', None, None, 1, None, None, 'Y', 1, None, None, 1, b'X', b'X', 1, 0, 1, datetime.datetime(2009, 4, 25, 23, 49, 59), 1, 'CHAR_CS', 1, 'YES', 'NO', 2, 1, 'B', 'NO', 'YES', 'NONE', 'NO', 'NO', None, None, None)]