반응형
기존에 사용했던 DB Tool인 Tibero나 Oracle 에서는 테이블의 상세 정보를 보기 위해 DESC라는 예약어를 많이 사용했다. 기존 스키마의 테이블 목록에서 더블 클릭하여 보면 속도가 굉장히 느려서 DESC 예약어를 사용하면 속도가 더 빨라 많이 사용했는데, DBeaver에서는 DESC 예약어를 사용하면 아래와 같이 나오면서 실행이 안된다.
그래서 세부사항을 누르니 아래와 같이 에러 메시지가 나왔다.
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [900] [42000]: ORA-00900: SQL 문이 부적합합니다
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:577)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:486)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:493)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:894)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3645)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:172)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:4949)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.sql.SQLSyntaxErrorException: ORA-00900: SQL 문이 부적합합니다
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:37)
at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:896)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1119)
at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1737)
at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1692)
at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:300)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:329)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.lambda$0(JDBCStatementImpl.java:131)
at org.jkiss.dbeaver.utils.SecurityManagerUtils.wrapDriverActions(SecurityManagerUtils.java:94)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131)
... 12 more
Caused by: Error : 900, Position : 0, Sql = DESC SKUMA, OriginalSql = DESC SKUMA, Error Msg = ORA-00900: SQL 문이 부적합합니다
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)
... 28 more
결국에는 세부 사항의 테이블을 보려면 단축키 F4를 눌러야 한다.
위의 쿼리가 있으면, TESTTABLE 이라는 글자 위에 커서를 올려두고 F4를 누르면 된다.
아니면, 아래와 같이 테이블을 드래그하여 F4를 누르면 된다.
F4를 누르면 아래와 같이, Columns부터 시작해서 Indexes, Virtual까지 볼 수 있다.
여기서, 티베로나 오라클에서는 DESC가 되고, DBeaver가 안되는 이유는 DESC는 SQLPLUS 기반의 명령어이기 때문에 DBeaver에서는 동작을 안한다.
반응형
'IT > DBeaver' 카테고리의 다른 글
[DBeaver] DBeaver 데이터 추출하는 방법 (0) | 2024.03.13 |
---|---|
[DBeaver] DBeaver 데이터 내보내기(CSV) 한글 깨지는 현상 해결하는 방법 (0) | 2023.06.21 |
[DBeaver] DBeaver CSV 데이터 파일 import 하는 방법 (2) | 2022.09.21 |
최근댓글