0
Excel에서 데이터를 가져 와서 db2 데이터베이스로 가져 와서 ixf로 내보내려고합니다. 여기 DB2 용 Excel에서 UDF를 사용하는 중 SQLSTATE = 39501
내가 이미 protocolls의 모든 버퍼를 확대 등등하지만 문제는 여전히 남아있다SQL0450N Routine "scheme.ARTIKEL_MATNR" (specific name "SQL15020610250178") has generated a result
value, SQLSTATE value, message text, or scratchpad which is too long. SQLSTATE=39501
를 얻을 그러나 소스 (DDL 파일)
connect to MYDB
drop function ARTIKEL_MATNR;
CREATE FUNCTION ARTIKEL_MATNR()
RETURNS TABLE(Material VARCHAR(64), HerstellerteileNr VARCHAR(32), Hersteller VARCHAR(5))
LANGUAGE OLEDB
EXTERNAL NAME '![IH09_Material$]!Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\excel_imp\150202_Bestand_SASPF_GBP.xls; Extended Properties="Excel 8.0;HDR=YES"';
select count(*) FROM TABLE(ARTIKEL_MATNR()) AS T;
INSERT INTO QV_ARTIKEL_MATNR (MATNR, TKZ, HSTK)
SELECT SUBSTR(Material,1,64), SUBSTR(HerstellerteileNr,1,32), SUBSTR(Hersteller,1,5) FROM TABLE(ARTIKEL_MATNR()) AS T;
select count(*) from QV_ARTIKEL_MATNR;
EXPORT TO C:\excel_imp\ARTIKEL_MATNR.ixf OF IXF MESSAGES C:\excel_imp\msg.txt SELECT * FROM QV_ARTIKEL_MATNR;
입니다. Excel 파일의 길이는 약 190k입니다.
함수가 반환 한 테이블에서만 select를 수행하면 문제가 이미 있으므로 삽입에 도달하지 못합니다.
아이디어가 있으십니까? 미리 도움을 주셔서 감사합니다.
감사합니다 .... "보이지 않는"문자가 하나 더있는 값이었습니다 .... 다시 한번 감사드립니다. – Thevagabond