2008-09-30 17 views
1

코드 나 실행하려고 :php + unixODBC + DB2 + DESCRIBE = 토큰이 유효하지 않습니까?

$query = "DESCRIBE TABLE TABLENAME"; 
$result = odbc_exec($h, $query); 

결과를 :

PHP Warning: odbc_exec(): SQL error: [unixODBC][IBM][iSeries Access ODBC Driver][DB2 UDB]SQL0104 - Token TABLENAME was not valid. Valid tokens: INTO., SQL state 37000 in SQLExecDirect in ...

는 동일한 연결에 다른 SELECT, INSERT, UPDATE 문제 또는 DELETE 쿼리가 없었다. 이것은 구문 오류입니까?

답변

0

나는 유효한 진술 : INTO라는 값을 반환하는 명령문을 제공해야 할 것처럼 보입니다. 나는 전에 DESCRIBE를 사용하지 않았지만, 그것이 무엇인가를 반환한다고 상상할 것이다.

Interactive SQL은 명령을 허용하지 않으므로 이보다 훨씬 많은 도움을 드릴 수 없습니다.

질문 : iSeries 태그를 질문에 추가하십시오. 그런 식으로 몇 가지 대답을 얻을 수 있습니다.

0

그냥 열이 필요하면 이름이 시도 나는 열 유형, 인덱스, 키를 얻는 방법을 모르는

select * from <TABLE> where 0 = 1 

, C

&
5

DB2의 iSeries의 맛은 지원하지 않습니다 SQL DESCRIBE 문. 대신, 시스템 테이블을 조회 할 수 있습니다

select * from qsys2.columns where table_schema = 'my_schema' and table_name = 'my_table' 
+0

이 예제를 이용해 주셔서 감사합니다. 필드 설명을 얻는 방법을 알고 있습니까? –

1

This statement can only be embedded in an application program. It is an executable statement that cannot be dynamically prepared. It must not be specified in Java.

을 iSeries의 DB2 SQL 참조에서.