Delphi 2009/ODAC 6 exception - EVariantTypeCastError

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
mstaszew
Posts: 16
Joined: Tue 10 Feb 2009 15:04

Delphi 2009/ODAC 6 exception - EVariantTypeCastError

Post by mstaszew » Tue 02 Jun 2009 18:17

Testing with Oracle DB 11g, 11g client, Unicode flags set to True.

Compile the following TYPE spec and body.

Code: Select all

CREATE OR REPLACE TYPE 상점 AS OBJECT ( 도시 VARCHAR2(20),  
매니저 VARCHAR2(20),  
광장_치수 INTEGER,
당지수입 NUMBER,
MEMBER PROCEDURE 경리바꾸다(관리자_로 IN VARCHAR2),
MEMBER PROCEDURE 확장_크기(피트에증액 IN NUMBER, 
새로운크기 OUT NUMBER),
MEMBER FUNCTION 임금시작 RETURN NUMBER
);
/

CREATE OR REPLACE TYPE BODY 상점 AS

MEMBER PROCEDURE 경리바꾸다(관리자_로 IN VARCHAR2) IS
BEGIN
	 매니저 := 관리자_로;
END 경리바꾸다;

MEMBER PROCEDURE 확장_크기(피트에증액 IN NUMBER, 새로운크기 OUT NUMBER) IS
BEGIN
	 광장_치수 := 광장_치수 + 피트에증액;
	 새로운크기 := 광장_치수;
END 확장_크기;

MEMBER FUNCTION 임금시작 RETURN NUMBER IS
BEGIN
     IF 도시 IN ('아틀란틱', '뉴욕', '샌프란시스코', '로스안젤스', '치카고')
	 THEN
	 	 RETURN 당지수입 /1900;
	 ELSE
	 	 RETURN 당지수입 /2000; 
	 END IF; 
END 임금시작;

END;
/
Change the TYPE spec to...

Code: Select all

CREATE OR REPLACE TYPE 상점 AS OBJECT ( 도시 VARCHAR2(20),  
-- 매니저 VARCHAR2(20),  
광장_치수 INTEGER,
당지수입 NUMBER,
MEMBER PROCEDURE 경리바꾸다(관리자_로 IN VARCHAR2),
MEMBER PROCEDURE 확장_크기(피트에증액 IN NUMBER, 
새로운크기 OUT NUMBER),
MEMBER FUNCTION 임금시작 RETURN NUMBER
);
/
...and compile it. Compile the TYPE body again. You should get an EVariantTypeCastError, "Could not convert variant of type (Null) into type (OleStr)."

Thanks,
Michael

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 03 Jun 2009 07:26

We have fixed this problem. The fix will be included in the next build of ODAC.

mstaszew
Posts: 16
Joined: Tue 10 Feb 2009 15:04

Post by mstaszew » Wed 03 Jun 2009 13:24

Do you have an approximate release date of the next version? Is there a publicly available source tweak for those that have the source?

Thanks,
Michael

Post Reply