ERROR: Parameter type of 'ReturnMessages' must be a build-in type
Hello!
I create an outbound and inbound flug from a view to another embedded controller interface view. The plug has couple parameters type string. But there is a parameter named "ReturnMessages" which hold an array of errors. The type of this parameter is ArrayList of java.Ultil.ArrayList.
When i do a build, it gives me an error: Parameter type of 'ReturnMessages' must be a build-in type. The build-in type is the primative type like string, int, date, ... but not ArrayList.
1) How do i fix this issue?
2) Is it some kind of bug of the NDS tool? I use the SS15 support pack. The reason i wonder if it is a bug or not because the tool does allow me to pick a parameter type ArrayList and it gives me an error saying that i can't use it.
Thank you very much for any suggestion and idea. It will be greatly appreciated.
Hi,
I think EP6.0 wont support it for ArrayList.
But there is a workaround for this.
For that you can use String(All Error Msgs) with delimiters(@@@). But in the response view, create a StringTokenizer using this String with Delimiters.
Ex;-
StringTokenizer st = new StringTokenizer(String errors,"@@@");
Correct me, if there is another solution for this.
Regards,
Sridhar
Similar Messages
-
JDBC adapter Stored Procedure error: parameter was not supplied
I am trying to call a Stored Procedure 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' in our SQL Server database.
XI 3.0 Sp13
Jdbc Url: jdbc:microsoft:sqlserver://161.241.255.91:1433;databaseName=FusionDB;SelectMethod=Cursor
I am getting following error:
beging of error-----
Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' (structure 'Statement1'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Procedure 'SP_FUSION_DEBMS_ADRC_MANAGE_CUSTOMER_ADDRESS' expects parameter '@control_no', which was not supplied.
End of error-----
I have defined the field "control_no" in the interface defenition but I am not sure what causing this error, error message is mis-leading.
Please let me know if you have any hints/comments?
thanks,
Laxman moluguHi Laxman,
maybe you have checked this already...from the following help link....DECIMAL might be something you might want to try out....
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/frameset.htm
<i>action=EXECUTE
Statements with this action result in a stored procedure being executed. The name of the element is interpreted as the name of the stored procedure in the database. If you use the optional <table> element, the value specified here is used as the stored procedure name. This enables you, for example, to define stored procedure names containing non-XML-compatible characters or characters that prevent them from being used in interface definitions in the Integration Builder/PCK. If specified, <table> must be the first element in the block within <dbTableName>.
The elements within the stored procedure are interpreted as parameters. They can optionally have the attribute isInput=1 (input parameter) or isOutput=1 (output parameter) or both (INOUT parameter). If both attributes are missing, the element is interpreted as an input parameter. The parameter names must be identical to those of the stored procedure definition.
The attribute type=<SQL-Datatype> , which describes the valid SQL data type, is mandatory for all parameter types (IN, OUT, INOUT).
The following SQL data types are supported:
INTEGER, BIT, TINYINT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, CHAR, VARCHAR, STRING, LONGVARCHAR, DATE, TIME, TIMESTAMP, BINARY, VARBINARY, LONGVARBINARY, BLOB (input and output),CLOB (input and output), CURSOR (output; only in conjunction with the Oracle JDBC driver).</i> -
Error #1034 Type Coercion fail with registerClassAlias and nested Vectors
I'm attempting to use flash.net.registerClassAlias and ByteArray.writeObject in order to serialize/deserialize data with static type information. It works as you'd expect in the general case but I've run into problems with some nested Vectors that I don't understand. Hopefully someone can point out if I'm just missing something.
For what I understand, we must register both the scalar types and a one-deep specification of a Vector for that scalar type in order to use nested Vectors. For example:
flash.net.registerClassAlias("TestStructureInner", TestStructureInner);
flash.net.registerClassAlias("VectorTestInner", Vector.<TestStructureInner> as Class);
This should allow us to read/write objects of type TestStructureInner, Vector.<TestStructureInner>, and Vector.<Vector.<TestStructureInner>> into ByteArrays. And in general it seems to work.
Attached though is a simplified test case that fails, however. The first time we deserialize the data it works. The subsequent time, however, we encounter the following runtime error #1034.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fcb9 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fbc9 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fdd1 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fce1 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fbf1 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fec1 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fad9 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304fa61 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304f9e9 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
TypeError: Error #1034: Type Coercion failed: cannot convert __AS3__.vec::Vector.<Object>@304f971 to __AS3__.vec.Vector.<__AS3__.vec::Vector.<Test0.as$30::TestStructureInner>>.
Re-registering the class aliases again via flash.net.registerClassAlias works in this test case but isn't 100% for our actual application (I'm reticent to even mention it but it seems relevant). Is there a step I'm missing here? Any light shed would be appreciated.
// mxmlc -debug Test0.as
package
import Base64; // http://code.google.com/p/jpauclair-blog/source/browse/trunk/Experiment/Base64/src/Base64.a s
import flash.net.registerClassAlias;
import flash.events.Event;
import flash.utils.ByteArray;
import flash.display.Sprite;
import flash.display.Stage;
import flash.system.System;
public class Test0 extends Sprite
static private const OPERATION_SERIALIZE:uint = 0;
static private const OPERATION_DESERIALIZE_AND_FAIL:uint = 1;
static private const OPERATION_DESERIALIZE_AND_SUCCEED:uint = 2;
static private var staticStage:Stage;
private var bar:Vector.<TestStructure>;
* common functions
static private function registerClassAliases():void
flash.net.registerClassAlias("TestStructureInner", TestStructureInner);
flash.net.registerClassAlias("VectorTestInner", Vector.<TestStructureInner> as Class);
flash.net.registerClassAlias("TestStructure", TestStructure);
static public function staticDeserialize():Object
var byteArray:ByteArray = Base64.decode("EBUAG1Rlc3RTdHJ1Y3R1cmUKEwAHZm9vEAEAH1ZlY3RvclRlc3RJbm5lcgoBEAEABAoBEAEABA oBEAEABAoBEAEABAoBEAEABAoBEAEABAoBEAEABAoBEAEABAoBEAEABA==");
byteArray.position = 0;
return byteArray.readObject();
public function Test0():void
registerClassAliases();
// Switching operation between the constants demonstrates failure/success in a couple of different ways.
// SERIALIZE is just used to prepare the base64 string for subsequent tests.
var operation:int = OPERATION_SERIALIZE_AND_FAIL;
if (operation == OPERATION_SERIALIZE)
trace("Serializing");
// outputs base64 string for subsequent tests
serialize();
else if (operation == OPERATION_DESERIALIZE_AND_FAIL)
trace("Fail case");
// perform successful one deserialization, then one failing one.
deserializeOnceThenFail();
else if (operation == OPERATION_DESERIALIZE_AND_SUCCEED)
trace("Success via re-registration");
// perform successful one deserialization, then another successful one.
deserializeOnceThenSucceed();
* serialize
// outputs base64 string we use for subsequent tests.
private function serialize():void
var baz:Vector.<TestStructure> = new Vector.<TestStructure>;
for (var i:int=0; i<10; ++i)
baz.push(new TestStructure);
var byteArray:ByteArray = new ByteArray;
byteArray.writeObject(baz);
trace(Base64.encode(byteArray));
* deserializeOnceThenFail
// perform successful one deserialization, then one failing one.
public function deserializeOnceThenFail():void
// save stage
staticStage = stage;
// the first deserialize will proceed without error.
staticDeserialize();
trace("Successful deserialize");
// add an event listener in order to invoke error on subsequent frame
stage.addEventListener(Event.ENTER_FRAME, doEnterFrameOnceThenFail);
// remove event listener and invoke again.
static private function doEnterFrameOnceThenFail(e:Event):void
staticStage.removeEventListener(Event.ENTER_FRAME, doEnterFrameOnceThenFail);
staticDeserialize();
trace("unsuccessful deserialize2");
* deserializeOnceThenSucceed
* Here, we re-call flash.net.registerClassAlias on all our class types when running.
// perform successful one deserialization, then one failing one.
public function deserializeOnceThenSucceed():void
// save stage
staticStage = stage;
// the first deserialize will proceed without error.
staticDeserialize();
trace("Successful deserialize");
// add an event listener in order to invoke error on subsequent frame
stage.addEventListener(Event.ENTER_FRAME, doEnterFrameOnceThenSucceed);
// remove event listener and invoke again.
static private function doEnterFrameOnceThenSucceed(e:Event):void
staticStage.removeEventListener(Event.ENTER_FRAME, doEnterFrameOnceThenSucceed);
registerClassAliases();
staticDeserialize();
trace("successful deserialize2");
internal class TestStructureInner
public var value:int;
internal class TestStructure
public var foo:Vector.<Vector.<TestStructureInner>> = new Vector.<Vector.<TestStructureInner>>;The error would imply that ImageAssetEvent does not inherit
DisplayEvent. Either modify the inheritance chain or listen for a
basic Event object (flash.events.Event) and cast inside the
function. -
Hi Everyone..
I am getting an Error 1046: Type was not found or was not a compile-time constant: Component Event.
The ComponentEvent class has been imported,and also the event handling code is there. I am not sure what else is wrong, hope somebody can advise me. Thanks. The code is below, the point where the error occurs as indicated by the compiler has been highlighted.
package
import flash.display.Sprite;
import flash.media.Camera;
import flash.media.Microphone;
import flash.media.Video;
import fl.controls.TextArea;
import fl.controls.Button;
import fl.controls.TextInput;
import flash.events.SyncEvent;
import flash.events.MouseEvent;
import flash.events.FocusEvent;
import flash.net.SharedObject;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.events.FocusEvent;
import flash.events.ComponentEvent;
public class VideoChat extends Sprite
private var button:Button;
private var text_so:SharedObject;
private var textArea:TextArea;
private var textInput:TextInput;
private var chatName:TextInput;
private var nc:NetConnection;
private var nsOut:NetStream;
private var nsIn:NetStream;
private var rtmpNow:String;
private var msg:Boolean;
private var cam:Camera;
private var mic:Microphone;
private var vid:Video;
public function VideoChat ()
//Set up UI
textArea = new TextArea();
textArea.setSize(500,280);
textArea.move(20,54);
addChild(textArea);
textInput = new TextInput();
textInput.setSize(500,24);
textInput.move(20,340);
textInput.addEventListener(ComponentEvent.ENTER,checkKey);
addChild(textInput);
button = new Button();
button.width=50;
button.label="Send";
button.move(20,370);
button.addEventListener(MouseEvent.CLICK, sendMsg);
addChild(button);
chatName = new TextInput;
chatName.setSize (100,24);
chatName.move (80,370);
chatName.text="<Enter Name>";
chatName.addEventListener (FocusEvent.FOCUS_IN, cleanName);
addChild(chatName);
//Connect
rtmpNow="rtmp:/VideoChat ";
nc=new NetConnection;
nc.connect (rtmpNow);
nc.addEventListener(NetStatusEvent.NET_STATUS,doSO);
cam = Camera.getCamera();
mic=Microphone.getMicrophone();
//Camera Settings
cam.setKeyFrameInterval(15);
cam.setMode (240, 180, 15, false);
cam.setMotionLevel(35,3000);
cam.setQuality(40000 / 8,0);
//Microphone Settings
mic.gain = 85;
mic.rate=11;
mic.setSilenceLevel (25,1000);
mic.setUseEchoSuppression (true);
//Video Setup
vid=new Video(cam.width, cam.height);
addChild (vid);
vid.x=10, vid.y=20;
//Attach local video and camera
vid.attachCamera(cam);
private function doSO(e:NetStatusEvent):void
good=e.info.code == "NetConnection.Connect.Success";
if(good)
//Set up shared object
text_so=SharedObject.getRemote("test", nc.uri, false);
text_so.connect (nc);
text_so.addEventListener(SyncEvent.SYNC, checkSO);
private function checkSO(e:SyncEvent):void
for (var chung:uint; change<e.changeList.length; chng++)
switch(e.chageList[chng].code)
case "clear":
break;
case "success":
break;
case "change":
textArea.appendText (text_so.data.msg + "\n");
break;
private function cleanName(e:FocusEvent): void
chatName.text="";
private function sendMsg(e:MouseEvent):void
noName=(chatName.text=="<Enter Name>" || chatName.text=="");
if (noName)
textArea.appendText("You must enter your name \n");
else
text_so.setProperty("msg", chatName.text +": " + textInput.text);
textArea.appendText (chatName.text +": "+textInput.text +"\n");
textInput.text="";
private function checkKey (e:ComponentEvent):void
noName=(chatName.text=="<Enter Name>" || chatName.text=="");
if (noName)
textArea.appendText("You must enter your name \n");
else
text_so.setProperty("msg", chatName.text +": " + textInput.text);
textArea.appendText (chatName.text +": "+textInput.text +"\n");
textInput.text="";
//Create NetStream instances
private function checkConnect (e:NetStatusEvent):void
msg=e.info.code == "NetConnection.Connect.Success";
if(msg)
nsOut=new NetStream(nc);
nsIn=new NetStream(nc);
//NetStream
nsOut.attachAudio(mic);
nsOut.attachCamera(cam);
nsOut.publish("camstream");
nsIn.play("camstream");Hi Guys...
I have found out what is wrong. I was importing the wrong package the correct one should have been:
import fl.events.ComponentEvent;
instead of
import flash.events.ComponentEvent;
I hope this is helpful for anyone caught in a simillar situation as me...Thanks.. -
Hello.
During developing Domain Index for Oracle 11.2.0.1.0 (problem also appears in 12с) i was faced with misunderstanding of parameter types of function
ODCIIndexInsert in case of creating indextype WITH ARRAY DML option
According to Oracle documentation
http://docs.oracle.com/cd/E11882_01/appdev.112/e10765/ext_idx_ref.htm#i76892
In case of WITH ARRAY DML option Oracle will invoke ODCIIndexInsert with following signature
FUNCTION ODCIIndexInsert(
ia ODCIIndexInfo,
ridlist ODCIRidList,
newvallist varray_of_column_type,
env ODCIEnv)
RETURN NUMBER
In my case indexed column has datatype NUMBER so i defined varray_of_column_type as SYS.ODCINumberList
STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList, newvallist in sys.ODCINumberList, env in SYS.ODCIEnv) RETURN NUMBER
Indextype was created as
CREATE INDEXTYPE test_index_type
FOR
test_eq(number, number)
USING index_methods
WITH ARRAY DML(number, sys.ODCINumberList)
WITH LOCAL RANGE PARTITION
WITH SYSTEM MANAGED STORAGE TABLES;
or
CREATE INDEXTYPE test_index_type
FOR
test_eq(number, number)
USING index_methods
WITH ARRAY DML
WITH LOCAL RANGE PARTITION
WITH SYSTEM MANAGED STORAGE TABLES;
(problem occurs in all cases)
CREATE TABLE test_table (id NUMBER (19,0));
CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type;
When attempting to insert data in the table
insert into test_table values (1);
oracle raise exception
Error starting at line 53 in command:
insert into test_table values (1)
Error at Command Line:53 Column:1
Error report:
SQL Error: ORA-29925: cannot execute SCOTT.INDEX_METHODS.ODCIINDEXINSERT
ORA-06553: PLS-306: wrong number or types of arguments in call to 'ODCIINDEXINSERT'
ORA-06553: PLS-306: wrong number or types of arguments in call to 'ODCIINDEXINSERT'
29925. 00000 - "cannot execute %s"
*Cause: The specified function does not exist or does not have an
appropriate signature.
*Action: Implement the function with the appropriate signature.
So my question is.
Is it normal behavior of oracle (according to documentation)?
What is correct signature of ODCIIndexInsert function in case of INDEXTYPE creation with 'WITH ARRAY DML' option and fact that indexed column has NUMBER datatype?
By the way if i define indextype without 'WITH ARRAY DML' option signature is clear, and working. But this approach doesn't satisfies our performance needs.
Also if i define index type with option 'WITH ARRAY DML WITHOUT COLUMN DATA' and use signature
static function ODCIIndexInsert(ia sys.odciindexinfo, ridlist sys.odciridlist, env sys.ODCIEnv) return number
Everything works too. But this approach doesn't satisfies our business needs.
Is it a way to define ODCIIndexInsert parameter types (in case of indexing number column) so that batch inserting works according to documentation ?
FUNCTION ODCIIndexInsert(
ia ODCIIndexInfo,
ridlist ODCIRidList,
newvallist varray_of_column_type,
env ODCIEnv)
I am attaching full sql script to recreate environment and reproduce the problem.
Type definition:
CREATE OR REPLACE TYPE index_methods AS OBJECT
step number,
STATIC FUNCTION ODCIGetInterfaces(ifclist OUT SYS.ODCIObjectList) RETURN NUMBER,
STATIC FUNCTION ODCIIndexCreate (ia SYS.ODCIIndexInfo, parms VARCHAR2, env SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexAlter (ia sys.ODCIIndexInfo, parms IN OUT VARCHAR2, altopt number, env sys.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexDrop(ia SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexExchangePartition(ia SYS.ODCIIndexInfo, ia1 SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexUpdPartMetadata(ia sys.ODCIIndexInfo, palist sys.ODCIPartInfoList, env sys.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList, newvallist in sys.ODCINumberList, env in SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexDelete(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, env SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexUpdate(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, newval number, env SYS.ODCIEnv) RETURN NUMBER,
STATIC FUNCTION ODCIIndexStart(sctx IN OUT index_methods, ia SYS.ODCIIndexInfo,
op SYS.ODCIPredInfo, qi sys.ODCIQueryInfo, strt number, stop number, cmpval number, env SYS.ODCIEnv) RETURN NUMBER,
MEMBER FUNCTION ODCIIndexFetch(self IN OUT index_methods, nrows NUMBER, rids OUT SYS.ODCIridlist, env SYS.ODCIEnv) RETURN NUMBER,
MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER
CREATE OR REPLACE TYPE BODY index_methods IS
STATIC FUNCTION ODCIGetInterfaces(ifclist OUT sys.ODCIObjectList) RETURN NUMBER IS
BEGIN
ifclist := sys.ODCIObjectList(sys.ODCIObject('SYS','ODCIINDEX2'));
RETURN ODCIConst.Success;
END ODCIGetInterfaces;
STATIC FUNCTION ODCIIndexCreate (ia sys.ODCIIndexInfo, parms VARCHAR2, env sys.ODCIEnv) RETURN NUMBER IS
BEGIN
RETURN ODCIConst.Success;
END ODCIIndexCreate;
STATIC FUNCTION ODCIIndexDrop(ia sys.ODCIIndexInfo, env sys.ODCIEnv) RETURN NUMBER IS
BEGIN
RETURN ODCIConst.Success;
END ODCIIndexDrop;
STATIC FUNCTION ODCIIndexAlter (
ia sys.ODCIIndexInfo,
parms IN OUT VARCHAR2,
altopt NUMBER,
env sys.ODCIEnv)
RETURN NUMBER IS
BEGIN
RETURN ODCIConst.Success;
END ODCIIndexAlter;
STATIC FUNCTION ODCIIndexUpdPartMetadata(
ia sys.ODCIIndexInfo,
palist sys.ODCIPartInfoList,
env sys.ODCIEnv)
RETURN NUMBER IS
BEGIN
RETURN ODCIConst.Success;
END ODCIIndexUpdPartMetadata;
STATIC FUNCTION ODCIIndexExchangePartition(
ia sys.ODCIIndexInfo,
ia1 sys.ODCIIndexInfo,
env sys.ODCIEnv)
RETURN NUMBER IS
BEGIN
RETURN ODCIConst.Success;
END ODCIIndexExchangePartition;
STATIC FUNCTION ODCIIndexInsert(
ia sys.ODCIIndexInfo,
ridlist sys.ODCIRidList,
newvallist sys.ODCINumberList,
env sys.ODCIEnv)
RETURN NUMBER IS
BEGIN
return ODCIConst.Success;
END;
STATIC FUNCTION ODCIIndexDelete(
ia SYS.ODCIIndexInfo,
rid VARCHAR2,
oldval number,
env SYS.ODCIEnv)
RETURN NUMBER IS
BEGIN
return ODCIConst.Success;
END;
STATIC FUNCTION ODCIIndexUpdate(
ia SYS.ODCIIndexInfo,
rid VARCHAR2,
oldval number,
newval number,
env SYS.ODCIEnv)
RETURN NUMBER AS
BEGIN
return ODCIConst.Success;
END;
STATIC FUNCTION ODCIIndexStart(
sctx IN OUT index_methods,
ia SYS.ODCIIndexInfo,
op SYS.ODCIPredInfo,
qi sys.ODCIQueryInfo,
strt number,
stop number,
cmpval number,
env SYS.ODCIEnv)
RETURN NUMBER AS
BEGIN
sctx := index_methods(1);
return ODCIConst.Success;
END;
MEMBER FUNCTION ODCIIndexFetch(
self IN OUT index_methods,
nrows NUMBER,
rids OUT SYS.ODCIridlist,
env SYS.ODCIEnv)
RETURN NUMBER AS
BEGIN
return ODCIConst.Success;
END;
MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER AS
BEGIN
return ODCIConst.Success;
END;
end;
Problem workaround:
--drop function test_eq_fun;
CREATE FUNCTION test_eq_fun(a number, b number) RETURN NUMBER AS
BEGIN
IF a = b then
RETURN 1;
ELSE
RETURN 0;
END IF;
END;
--drop operator test_eq;
CREATE OPERATOR test_eq
BINDING (number, number) RETURN NUMBER
USING test_eq_fun;
--drop indextype test_index_type;
CREATE INDEXTYPE test_index_type
FOR
test_eq(number, number)
USING index_methods
WITH ARRAY DML(number, sys.ODCINumberList)
WITH LOCAL RANGE PARTITION
WITH SYSTEM MANAGED STORAGE TABLES;
CREATE INDEXTYPE test_index_type
FOR
test_eq(number, number)
USING index_methods
WITH ARRAY DML
WITH LOCAL RANGE PARTITION
WITH SYSTEM MANAGED STORAGE TABLES;
--drop table test_table;
CREATE TABLE test_table (id NUMBER (19,0));
CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type;
insert into test_table values (1);I get single for 1 row and batch for 2 or more rows in the following simplified simulation.
SCOTT@orcl12c> DESC SYS.ODCINUMBERLIST
SYS.ODCINUMBERLIST VARRAY(32767) OF NUMBER
SCOTT@orcl12c> CREATE OR REPLACE TYPE index_methods AS OBJECT
2 (
3 step number,
4 STATIC FUNCTION ODCIGetInterfaces(ifclist OUT SYS.ODCIObjectList) RETURN NUMBER,
5 STATIC FUNCTION ODCIIndexCreate (ia SYS.ODCIIndexInfo, parms VARCHAR2, env SYS.ODCIEnv) RETURN NUMBER,
6 STATIC FUNCTION ODCIIndexAlter (ia sys.ODCIIndexInfo, parms IN OUT VARCHAR2, altopt number, env sys.ODCIEnv) RETURN NUMBER,
7 STATIC FUNCTION ODCIIndexDrop(ia SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
8 STATIC FUNCTION ODCIIndexExchangePartition(ia SYS.ODCIIndexInfo, ia1 SYS.ODCIIndexInfo, env SYS.ODCIEnv) RETURN NUMBER,
9 STATIC FUNCTION ODCIIndexUpdPartMetadata(ia sys.ODCIIndexInfo, palist sys.ODCIPartInfoList, env sys.ODCIEnv) RETURN NUMBER,
10 STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, rid in VARCHAR2, newval in NUMBER, env in SYS.ODCIEnv) RETURN NUMBER,
11 STATIC FUNCTION ODCIIndexInsert(ia in sys.ODCIIndexInfo, ridlist in sys.ODCIRidList, newvallist in your_type, env in SYS.ODCIEnv) RETURN NUMBER,
12 STATIC FUNCTION ODCIIndexDelete(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, env SYS.ODCIEnv) RETURN NUMBER,
13 STATIC FUNCTION ODCIIndexUpdate(ia SYS.ODCIIndexInfo, rid VARCHAR2, oldval number, newval number, env SYS.ODCIEnv) RETURN NUMBER,
14 STATIC FUNCTION ODCIIndexStart(sctx IN OUT index_methods, ia SYS.ODCIIndexInfo,
15 op SYS.ODCIPredInfo, qi sys.ODCIQueryInfo, strt number, stop number, cmpval number, env SYS.ODCIEnv) RETURN NUMBER,
16 MEMBER FUNCTION ODCIIndexFetch(self IN OUT index_methods, nrows NUMBER, rids OUT SYS.ODCIridlist, env SYS.ODCIEnv) RETURN NUMBER,
17 MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER
18 );
19 /
Type created.
SCOTT@orcl12c> CREATE OR REPLACE TYPE BODY index_methods IS
2 STATIC FUNCTION ODCIGetInterfaces(ifclist OUT sys.ODCIObjectList) RETURN NUMBER IS
3 BEGIN
4 ifclist := sys.ODCIObjectList(sys.ODCIObject('SYS','ODCIINDEX2'));
5 RETURN ODCIConst.Success;
6 END ODCIGetInterfaces;
7
8 STATIC FUNCTION ODCIIndexCreate (ia sys.ODCIIndexInfo, parms VARCHAR2, env sys.ODCIEnv) RETURN NUMBER IS
9 BEGIN
10 RETURN ODCIConst.Success;
11 END ODCIIndexCreate;
12
13 STATIC FUNCTION ODCIIndexDrop(ia sys.ODCIIndexInfo, env sys.ODCIEnv) RETURN NUMBER IS
14 BEGIN
15 RETURN ODCIConst.Success;
16 END ODCIIndexDrop;
17
18 STATIC FUNCTION ODCIIndexAlter (
19 ia sys.ODCIIndexInfo,
20 parms IN OUT VARCHAR2,
21 altopt NUMBER,
22 env sys.ODCIEnv)
23 RETURN NUMBER IS
24 BEGIN
25 RETURN ODCIConst.Success;
26 END ODCIIndexAlter;
27
28 STATIC FUNCTION ODCIIndexUpdPartMetadata(
29 ia sys.ODCIIndexInfo,
30 palist sys.ODCIPartInfoList,
31 env sys.ODCIEnv)
32 RETURN NUMBER IS
33 BEGIN
34 RETURN ODCIConst.Success;
35 END ODCIIndexUpdPartMetadata;
36
37 STATIC FUNCTION ODCIIndexExchangePartition(
38 ia sys.ODCIIndexInfo,
39 ia1 sys.ODCIIndexInfo,
40 env sys.ODCIEnv)
41 RETURN NUMBER IS
42 BEGIN
43 RETURN ODCIConst.Success;
44 END ODCIIndexExchangePartition;
45
46 STATIC FUNCTION ODCIIndexInsert(
47 ia sys.ODCIIndexInfo,
48 rid VARCHAR2,
49 newval NUMBER,
50 env sys.ODCIEnv)
51 RETURN NUMBER IS
52 BEGIN
53 dbms_output.put_line ('single');
54 return ODCIConst.Success;
55 END;
56
57 STATIC FUNCTION ODCIIndexInsert(
58 ia sys.ODCIIndexInfo,
59 ridlist sys.ODCIRidList,
60 newvallist your_type,
61 env sys.ODCIEnv)
62 RETURN NUMBER IS
63 BEGIN
64 dbms_output.put_line ('batch');
65 return ODCIConst.Success;
66 END;
67
68 STATIC FUNCTION ODCIIndexDelete(
69 ia SYS.ODCIIndexInfo,
70 rid VARCHAR2,
71 oldval number,
72 env SYS.ODCIEnv)
73 RETURN NUMBER IS
74 BEGIN
75 return ODCIConst.Success;
76 END;
77
78 STATIC FUNCTION ODCIIndexUpdate(
79 ia SYS.ODCIIndexInfo,
80 rid VARCHAR2,
81 oldval number,
82 newval number,
83 env SYS.ODCIEnv)
84 RETURN NUMBER AS
85 BEGIN
86 return ODCIConst.Success;
87 END;
88
89 STATIC FUNCTION ODCIIndexStart(
90 sctx IN OUT index_methods,
91 ia SYS.ODCIIndexInfo,
92 op SYS.ODCIPredInfo,
93 qi sys.ODCIQueryInfo,
94 strt number,
95 stop number,
96 cmpval number,
97 env SYS.ODCIEnv)
98 RETURN NUMBER AS
99 BEGIN
100 sctx := index_methods(1);
101 return ODCIConst.Success;
102 END;
103
104 MEMBER FUNCTION ODCIIndexFetch(
105 self IN OUT index_methods,
106 nrows NUMBER,
107 rids OUT SYS.ODCIridlist,
108 env SYS.ODCIEnv)
109 RETURN NUMBER AS
110 BEGIN
111 return ODCIConst.Success;
112 END;
113
114 MEMBER FUNCTION ODCIIndexClose(self IN index_methods, env SYS.ODCIEnv) RETURN NUMBER AS
115 BEGIN
116 return ODCIConst.Success;
117 END;
118 end;
119 /
Type body created.
SCOTT@orcl12c> CREATE FUNCTION test_eq_fun(a number, b number) RETURN NUMBER AS
2 BEGIN
3 IF a = b then
4 RETURN 1;
5 ELSE
6 RETURN 0;
7 END IF;
8 END;
9 /
Function created.
SCOTT@orcl12c> CREATE OPERATOR test_eq
2 BINDING (number, number) RETURN NUMBER
3 USING test_eq_fun
4 /
Operator created.
SCOTT@orcl12c> CREATE INDEXTYPE test_index_type
2 FOR
3 test_eq(number, number)
4 USING index_methods
5 WITH ARRAY DML(number, your_type)
6 WITH LOCAL RANGE PARTITION
7 WITH SYSTEM MANAGED STORAGE TABLES
8 /
Indextype created.
SCOTT@orcl12c> CREATE TABLE test_table (id NUMBER (19,0))
2 /
Table created.
SCOTT@orcl12c> CREATE INDEX test_index ON test_table(id) INDEXTYPE IS test_index_type
2 /
Index created.
SCOTT@orcl12c> insert into test_table values (1)
2 /
single
1 row created.
SCOTT@orcl12c> insert into test_table
2 select 2 from dual union all
3 select 3 from dual
4 /
batch
2 rows created.
SCOTT@orcl12c> insert into test_table select deptno from dept
2 /
batch
4 rows created.
SCOTT@orcl12c> insert into test_table select object_id from user_objects
2 /
batch
34 rows created.
SCOTT@orcl12c> -
I'm a student I have a final project want to deliver it after two days.
I'm making a drag and drop game, I watched a tutorial to do that.
But after ending coding I faced a weird error!
I've I checked that my code is the same as the code in the tutorial.
This is the Debug error report:
Attempting to launch and connect to Player using URL E:\FL\ActionScript\Drag and Drop Project\DragAndDrop.swf
[SWF] E:\FL\ActionScript\Drag and Drop Project\DragAndDrop.swf - 87403 bytes after decompression
TypeError: Error #1034: Type Coercion failed: cannot convert paper1$ to DragDrop.
at Targets()[E:\FL\ActionScript\Drag and Drop Project\Targets.as:23]
My `.fla` File is containing 12 Objects to drag and another 12 Objects to drop on it.
The idea here is when drop the Object on the target the Object will become invisible and the target become visible (in `.fla` file `target alpha = 0`).
I made two classes:
DragDrop.as : for the objects that I'm going to drag.
Targets.as : for the targets that I'm going to drop Objects on it.
Note: match function is to animate "GameOver" MovieClip When complete the game.
DragDrop.as:
package
import flash.display.*;
import flash.events.*;
public class DragDrop extends Sprite
var origX:Number;
var origY:Number;
var target:DisplayObject;
public function DragDrop()
// constructor code
origX = x;
origY = y;
addEventListener(MouseEvent.MOUSE_DOWN, drag);
buttonMode = true;
function drag(evt:MouseEvent):void
stage.addEventListener(MouseEvent.MOUSE_UP, drop);
startDrag();
parent.addChild(this);
function drop(evt:MouseEvent):void
stage.removeEventListener(MouseEvent.MOUSE_UP, drop);
stopDrag();
if(hitTestObject(target))
visible = false;
target.alpha = 1;
Object(parent).match();
x = origX;
y = origY;
Targets.as:
package
import flash.display.*;
import flash.events.*;
public class Targets extends MovieClip
var dragdrops:Array;
var numOfMatches:uint = 0;
var speed:Number = 25;
public function Targets()
// constructor code
dragdrops = [paper1,paper2,paper3,paper4,paper5,paper6,
paper7,paper8,paper9,paper10,paper11,paper12,];
var currentObject:DragDrop;
for(var i:uint = 0; i < dragdrops.length; i++)
currentObject = dragdrops[i];
currentObject.target = getChildByName(currentObject.name + "_target");
public function match():void
numOfMatches++;
if(numOfMatches == dragdrops.length)
win.addEventListener(Event.ENTER_FRAME, winGame);
function winGame(event:Event):void
win.y -= speed;
if(win.y <= 0)
win.y = 0;
win.removeEventListener(Event.ENTER_FRAME, winGame);
win.addEventListener(MouseEvent.CLICK, clickWin);
function clickWin(event:MouseEvent):void
win.removeEventListener(MouseEvent.CLICK, clickWin);
win.addEventListener(Event.ENTER_FRAME, animateDown);
var currentObject:DragDrop;
for(var i:uint = 0; i < dragdrops.length; i++)
currentObject = dragdrops[i];
getChildByName(currentObject.name + "_target").alpha = 0;
currentObject.visible = true;
numOfMatches = 0;
addChild(win);
function animateDown(event:Event):void
win.y += speed;
if(win.y >= stage.stageHeight)
win.y = stage.stageHeight;
win.removeEventListener(Event.ENTER_FRAME, animateDown);
...ThanksThank you very much for replying.
- dragdrops represents: the dragable objects.
- Targets obtaining the dropable objects by hitTestObject, then the dropable objects visible is turned to false, & the target visible turned to true.
Dragable objects is a 12 elements all of them have an instance names: paper1....paper12.
When I focused to the project I noticed that I forget to give the dragable objects an instance names!
after making the instance names to them, a new error occures:
E:\FL\ActionScript\Drag and Drop Project\Targets.as, Line 11
1046: Type was not found or was not a compile-time constant: paper1.
This error is continuing to paper2, paper3.....paper12 !
Please download my project, I must deliver it to my college in 24/12. I will never forget your favor. thanks.
https://www.dropbox.com/s/8mdg5w17vvryzso/Drag%20and%20Drop%20Project.rar | 715KB -
Error: Set type Z contains multiple-value attributes
Hi forum,
I have a problem when i try to assign a set type with the same value but diferent name on another set type to the same product category.
This is the detail of the error but i dont know where i have to set this indicator:
If you set this indicator for a particular hierarchy, all categories and set types in this hierarchy are created in the PME.
This gives you the following extended maintenance options at category level:
You can assign set types with multiple-value attributes
You can restrict value ranges and maintain default values for attributes of customer set types.
Any sugerence about this?
Regards and thanks in advance,
MonHi Nelson,
I create two set types, the description is not the problem. I have discover that when i try to assign these attributes in the same set type or in other appears this error.
The set types have the same values. For example:
zcountry1. Values: sp - spain. fr - france.
zcountry2. Values: sp - spain. fr - france.
When i try to configurate the comm_hierarchy in my category appears this error:
Set type zcountry2 contains multiple-value attributes.
Diagnosis
The set type ZGAME5 contains multiple-value attributes. It cannot be assigned to the category as extended maintenance has not been activated.
Procedure
Multiple-value attributes are stored in the PME. If you want to use the set type ZGAME5, you must set the Extended Maintenance Options indicator for the hierarchy.
Extended Maintenance Is Possible for the Hierarchy
Definition
If you set this indicator for a particular hierarchy, all categories and set types in this hierarchy are created in the PME.
This gives you the following extended maintenance options at category level:
You can assign set types with multiple-value attributes
You can restrict value ranges and maintain default values for attributes of customer set types.
Where is this indicator¿? in R3?
So, these are the steps...can anybody help to me?
Regards and thanks in advance. -
JAXB compiler error : Complex Type Definition Representation Error
Hi,
I have a problem when I try to generate Java classes for the XML Digital Signature schema along with the XAdES extension. Apparently, we got an XML validation issue when the XAdES schema is parsed.
Here is the xjc tool ouput :
[ERROR] src-ct.1: Complex Type Definition Representation Error for type 'IdentifierType'. When complexContent is used, the base type must be a complexType.
line 33 of XAdES.xsd
[ERROR] src-ct.1: Complex Type Definition Representation Error for type 'EncapsulatedPKIDataType'. When complexContent is used, the base type must be a complexType.
line 57 of XAdES.xsdNow these are the schema lines from XAdES.xsd that cause the problem :
<xsd:complexType name="IdentifierType">
<xsd:complexContent>
<xsd:extension base="xsd:anyURI">
<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="EncapsulatedPKIDataType">
<xsd:complexContent>
<xsd:extension base="xsd:base64Binary">
<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>The most disturbing thing is that those two schemas I used (e.g. xmldsig-core-schema.xsd and XAdES.xsd) come directly from the W3C, so they should be fully compliant to the XML schema spec, shouldn't they ?
Moreover, I tried to validate these two schemas with XML Spy 4.3 and the problem occurs in slightly different way. In fact, the <xsd:complexContent> tags are replaced silently by XML Spy with <xsd:simpleContent> tags in order to validate the schema. So XML Spy seems to have a problem too with these complex type definitions. Besides, if I replace the <xsd:complexContent> tags the same way as XML Spy does, and if I run again the JAXB compiler, it works fine...
Does anyone have any knowledge about this issue ? I'd like very much to hear about anyone who has experienced or better solved the same kind of issue.
By the way, here is the version of JAXB that I use :
xjc version "1.0.2-b15-fcs"
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build 1.0.2-b15-fcs)Any help appreciated.
Thanks,
Gregory<xsd:extension base="xsd:anyURI">
<xsd:extension base="xsd:base64Binary">
The base attribute of the xs:extension elements shoule refer to a complexType.
For example,
<xs:complexType name="complexTypeA">
</xs:complexType>
<xsd:complexType name="IdentifierType">
<xsd:complexContent>
<xsd:extension base="complexTypeA">
<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType> -
[jwsc] error: Response wrapper bean names must be unique ?
I am trying to use wsdlc and jwsc on my existing WSDL file, with "type=JAXWS", I am getting this error
"[jwsc] error: Response wrapper bean names must be unique and must not clash with other generated classes"
What does it mean? And how can I resolve this?
Here is the full stack trace:
build-service:
[jwsc] JWS: processing module /com/covergence/ws/callouts/CallOutsServiceImpl
[jwsc] Parsing source files
[jwsc] Parsing source files
[jwsc] 1 JWS files being processed for module /com/covergence/ws/callouts/CallOutsServiceImpl
[jwsc] JWS: C:\source_tree\b3.3\ss\java\ws\sdk\build\weblogic\src\com\covergence\ws\callouts\CallOutsServiceImpl.java Validated.
[jwsc] Processing 1 JAX-WS web services...
[jwsc] error: Response wrapper bean names must be unique and must not clash with other generated classes. Class: com.covergence.ws.callouts.CallOutsPortType method getConfig(javax.xml.ws.Holder<java.util.List<com.covergence.ws.callouts.ConfigClassesType>>)
[jwsc] Problem encountered during annotation processing;
[jwsc] see stacktrace below for more information.
[jwsc] [failed to localize] modeler.nestedGeneratorError(java.lang.IllegalArgumentException: trying to create the same field twice: config)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.generateWrappers(WebServiceWrapperGenerator.java:302)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.processMethod(WebServiceWrapperGenerator.java:154)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.visitMethodDeclaration(WebServiceVisitor.java:449)
[jwsc] at com.sun.tools.apt.mirror.declaration.MethodDeclarationImpl.accept(MethodDeclarationImpl.java:41)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.processMethods(WebServiceVisitor.java:374)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.postProcessWebService(WebServiceVisitor.java:338)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.postProcessWebService(WebServiceWrapperGenerator.java:125)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.visitInterfaceDeclaration(WebServiceVisitor.java:120)
[jwsc] at com.sun.tools.apt.mirror.declaration.InterfaceDeclarationImpl.accept(InterfaceDeclarationImpl.java:32)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.inspectEndpointInterface(WebServiceVisitor.java:420)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisitor.visitClassDeclaration(WebServiceVisitor.java:141)
[jwsc] at com.sun.tools.apt.mirror.declaration.ClassDeclarationImpl.accept(ClassDeclarationImpl.java:95)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.buildModel(WebServiceAP.java:300)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.process(WebServiceAP.java:224)
[jwsc] at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationProcessor.process(AnnotationProcessors.java:60)
[jwsc] at com.sun.tools.apt.comp.Apt.main(Apt.java:454)
[jwsc] at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java:448)
[jwsc] at com.sun.tools.apt.main.Main.compile(Main.java:1075)
[jwsc] at com.sun.tools.apt.main.Main.compile(Main.java:938)
[jwsc] at com.sun.tools.apt.Main.processing(Main.java:95)
[jwsc] at com.sun.tools.apt.Main.process(Main.java:43)
[jwsc] at com.sun.tools.apt.Main.main(Main.java:34)
[jwsc] Caused by: java.lang.IllegalArgumentException: trying to create thesame field twice: config
[jwsc] at com.sun.codemodel.JDefinedClass.field(JDefinedClass.java:392)
[jwsc] at com.sun.codemodel.JDefinedClass.field(JDefinedClass.java:363)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.writeMembers(WebServiceWrapperGenerator.java:419)
[jwsc] at com.sun.tools.ws.processor.modeler.annotation.WebServiceWrapperGenerator.generateWrappers(WebServiceWrapperGenerator.java:299)I am starting from WSDL and below are the corresponding elements from WSDL
<message name="getConfig">
<part name="parameters" element="tns:getConfig"/>
</message>
<message name="getConfigResponse">
<part name="result" element="tns:getConfigResponse"/>
</message>
<portType name="CallOutsPortType">
<operation name="getConfig">
<input message="tns:getConfig">
</input>
<output message="tns:getConfigResponse">
</output>
<fault name="callOutFault" message="tns:callOutFault"/>
</operation>
<binding name="CallOutsBinding" type="tns:CallOutsPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="getConfig">
<soap:operation soapAction="getConfig"/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
<fault name="callOutFault">
<soap:fault name="callOutFault" use="literal"/>
</fault>
</operation> -
Copy Failed "Error of Type -1402"
I upgraded to Tiger a few months ago. I am trying to reinstall some old programs from the MAC OS X 10.3.3 installation CD. However, specifically the applications. However, when I try and do this I get the following message and my cd spits out.
Copy Failed:
An error of type -1402 occurred while copying.
My guess is that I am trying to install applications from the 10.3.3 cd and should use the 10.3.4 cd? But, I need the older version applications. Is there any way to get these off my cd?
Thanks.The error is:
errFSBadForkName = -1402, /* Fork name parameter is bad */
Use Pacifist to extract the installers. More than likely, Panther apps won't work with Tiger, but that's something for you to figure out. -
Am getting this error in my code
Inconsistent accessibility: parameter type 'CRUDApplication.Models.IEmployeeRepository' is less accessible than method 'CRUDApplication.Controllers.EmployeeController.EmployeeController(CRUDApplication.Models.IEmployeeRepository)'
Here's my code
// EmployeeController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using CRUDApplication.Models;
using System.Data;
namespace CRUDApplication.Controllers
public class EmployeeController : Controller
// GET: /Employee/
private IEmployeeRepository _repository;
public EmployeeController()
: this(new EmployeeRepository())
public EmployeeController(IEmployeeRepository repository)
_repository = repository;
public ActionResult Index()
var employee = _repository.GetEmployee();
return View(employee);
public ActionResult Details(int id)
EmployeeModel model = _repository.GetEmployeeByID(id);
return View(model);
public ActionResult Create()
return View(new EmployeeModel());
[HttpPost]
public ActionResult Create(EmployeeModel employee)
try
if (ModelState.IsValid)
_repository.InsertEmployee(employee);
return RedirectToAction("Index");
catch (DataException)
ModelState.AddModelError("", "Can't be Saved!");
return View(employee);
public ActionResult Edit(int id)
EmployeeModel model = _repository.GetEmployeeByID(id);
return View(model);
[HttpPost]
public ActionResult Edit(EmployeeModel employee)
try
if (ModelState.IsValid)
_repository.UpdateEmployee(employee);
return RedirectToAction("Index");
catch (DataException)
ModelState.AddModelError("", "Can't be Saved!");
return View(employee);
public ActionResult Delete(int id, bool? saveChangesError)
if (saveChangesError.GetValueOrDefault())
ViewBag.ErrorMessage = "Can't be Deleted!";
EmployeeModel employee = _repository.GetEmployeeByID(id);
return View(employee);
[HttpPost, ActionName("Delete")]
public ActionResult DeleteConfirmed(int id)
try
EmployeeModel user = _repository.GetEmployeeByID(id);
_repository.DeleteEmployee(id);
catch (DataException)
return RedirectToAction("Delete",
new System.Web.Routing.RouteValueDictionary {
{ "id", id },
{ "saveChangesError", true } });
return RedirectToAction("Index");
// IEmployeeRepository.cs
namespace CRUDApplication.Models
interface IEmployeeRepository
IEnumerable<EmployeeModel> GetEmployee();
EmployeeModel GetEmployeeByID(int Emp_ID);
void InsertEmployee(EmployeeModel emp_Model);
void DeleteEmployee(int Emp_ID);
void UpdateEmployee(EmployeeModel emp_Model);
// EmployeeRepository.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CRUDApplication.Models
public class EmployeeRepository : IEmployeeRepository
private EmployeeDataContext emp_DataContext;
public EmployeeRepository()
emp_DataContext = new EmployeeDataContext();
public IEnumerable<EmployeeModel> GetEmployee()
IList<EmployeeModel> employeeList = new List<EmployeeModel>();
var myQuery = from q in emp_DataContext.EmployeeTabs
select q;
var emp = myQuery.ToList();
foreach (var empData in emp)
employeeList.Add(new EmployeeModel()
ID = empData.ID,
Emp_ID = empData.Emp_ID,
Name = empData.Name,
Dept = empData.Dept,
City = empData.City,
State = empData.State,
Country = empData.Country,
Mobile = empData.Mobile
return employeeList;
public void InsertEmployee(EmployeeModel emp_Model)
var empData = new EmployeeTab()
Emp_ID = emp_Model.Emp_ID,
Name = emp_Model.Name,
Dept = emp_Model.Dept,
City = emp_Model.City,
State = emp_Model.State,
Country = emp_Model.Country,
Mobile = emp_Model.Mobile
emp_DataContext.EmployeeTabs.InsertOnSubmit(empData);
emp_DataContext.SubmitChanges();
public void DeleteEmployee(int Emp_ID)
EmployeeTab employee = emp_DataContext.EmployeeTabs.Where(u => u.ID == Emp_ID).SingleOrDefault();
emp_DataContext.EmployeeTabs.DeleteOnSubmit(employee);
emp_DataContext.SubmitChanges();
public void UpdateEmployee(EmployeeModel emp_Model)
EmployeeTab EmpData = emp_DataContext.EmployeeTabs.Where(u => u.ID == emp_Model.ID).SingleOrDefault();
EmpData.Name = emp_Model.Name;
EmpData.Dept = emp_Model.Dept;
EmpData.City = emp_Model.City;
EmpData.State = emp_Model.State;
EmpData.Country = emp_Model.Country;
EmpData.Mobile = emp_Model.Mobile;
emp_DataContext.SubmitChanges();You have a ctor on EmployeeController that is public and therefore callable by anyone. However it accepts an IEmployeeRepository which is not a public type. Therefore it will not compile. You can fix this one of several ways:
Make IEmployeeRepository public
IEmployeeRepository is most likely marked as internal so mark the EmployeeController ctor as internal as well. Chances are this was done for unit testing so if you mark it internal then your unit test project won't find it anymore. To work around
that add
InternalsVisibleTo attribute to your repository assembly as well. The parameter will be the name of your unit test project. This allows the unit test project to find the internal ctor.
Michael Taylor
http://blogs.msmvps.com/p3net -
"Cannot get parameter type" exception in logs
Hello, Everyone!
I am trying to migrate my old Birt reports to a new runtime version (and new designing capabilities as well). The reports get rendered correctly after migration but I experience some lack of performance (quite significant actually). When I check logs I see lots of SEVERE exceptions concerning report parameters which probably affect the delay.
Technical parameters:
Database: Oracle 11g
AS: Apache Tomcat 7.0.26
Java: 1.7.0_67
JDBC Driver: ojdbc6.jar or ojdbc7.jar (described below)
old Birt Viewer Runtime version: 2.5.2
new Birt Viewer Runtime version: 4.4.2 (the latest)
The exceptions are following:
Apr 07, 2015 7:55:40 PM org.eclipse.birt.data.engine.odaconsumer.PreparedStatement doSetNull( int )
SEVERE: Cannot set a null value to parameter 147.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot set preparedStatement null value.
SQL error #1:Unsupported feature
java.sql.SQLException: Unsupported feature
at org.eclipse.birt.report.data.oda.jdbc.Statement.setNull(Statement.java:884)
at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaQuery.setNull(OdaQuery.java:1223)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.doSetNull(PreparedStatement.java:4691)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setNull(PreparedStatement.java:4173)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3113)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3070)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.setInputParameterBinding(DataSourceQuery.java:1159)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:919)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:503)
at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1222)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:83)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:269)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:86)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1325)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:191)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)
at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.sql.SQLException: Unsupported feature
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
at oracle.jdbc.driver.DatabaseError.throwUnsupportedFeatureSqlException(DatabaseError.java:765)
at oracle.jdbc.driver.OracleParameterMetaData.getParameterType(OracleParameterMetaData.java:156)
at org.eclipse.birt.report.data.oda.jdbc.Statement.setNull(Statement.java:879)
... 60 more
and:
Apr 07, 2015 7:55:40 PM org.eclipse.birt.data.engine.odaconsumer.ParameterMetaData getRuntimeParameterType
SEVERE: Cannot get the type for parameter: 1.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot get parameter type.
SQL error #1:Unsupported feature
java.sql.SQLException: Unsupported feature
at org.eclipse.birt.report.data.oda.jdbc.ParameterMetaData.getParameterType(ParameterMetaData.java:161)
at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaParameterMetaData.getParameterType(OdaParameterMetaData.java:177)
at org.eclipse.birt.data.engine.odaconsumer.ParameterMetaData.getRuntimeParameterType(ParameterMetaData.java:233)
at org.eclipse.birt.data.engine.odaconsumer.ParameterMetaData.<init>(ParameterMetaData.java:97)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.mergeParamHintsWithMetaData(PreparedStatement.java:1674)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getParameterMetaData(PreparedStatement.java:1525)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getParameterMetaData(PreparedStatement.java:1539)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getParameterType(PreparedStatement.java:798)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.retrySetParameterValue(PreparedStatement.java:3211)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3188)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3070)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.setInputParameterBinding(DataSourceQuery.java:1159)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:919)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:503)
at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1222)
at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:83)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:269)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:86)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1325)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:191)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)
at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.sql.SQLException: Unsupported feature
at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:271)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:445)
at oracle.jdbc.driver.DatabaseError.throwUnsupportedFeatureSqlException(DatabaseError.java:765)
at oracle.jdbc.driver.OracleParameterMetaData.getParameterType(OracleParameterMetaData.java:156)
at org.eclipse.birt.report.data.oda.jdbc.ParameterMetaData.getParameterType(ParameterMetaData.java:155)
... 65 more
These exceptions probably refer to dataset (query) parameters rather than to report parameters because of their numbers and total amount.
The first exception "Cannot set preparedStatement null" seems to be thrown for all parameters that are initially nulls. The second exception "Cannot get parameter type" seems to be thrown for all parameters (twice for some).
The second one probably has something to do with this bug: https:\//bugs.eclipse.org/bugs/show_bug.cgi?format=multiple&id=384925 Although it is declared to be fixed in an earlier Birt runtime version (4.2.1) and I'm using a later one (4.4.2).
The first one gets critical if I change the Oracle jdbc driver to the new and the most appropriate one (ojdbc7.jar), which should be a better choice because I have Java 7. Older driver ojdbc6.jar renders the report but writes the exception to the logfile, the newer one produces the following in browser:
- org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
AxisFault
faultCode: BirtRunReportActionHandler.__execute()
faultSubcode:
faultString: org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
faultActor:
faultNode:
faultDetail:
stackTrace:org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2363)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:277)
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:86)
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1325)
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.doService(FramesetFragment.java:191)
at org.eclipse.birt.report.presentation.aggregation.layout.FramesetFragment.service(FramesetFragment.java:86)
at org.eclipse.birt.report.servlet.ViewerServlet.__doGet(ViewerServlet.java:181)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:278)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.eclipse.birt.report.filter.ViewerFilter.doFilter(ViewerFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.getScaleValue(PreparedStatement.java:4423)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.doSetBigDecimal(PreparedStatement.java:4359)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setBigDecimal(PreparedStatement.java:3955)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.retrySetNullParamValue(PreparedStatement.java:3744)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.retrySetParameterValue(PreparedStatement.java:3245)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3183)
at org.eclipse.birt.data.engine.odaconsumer.PreparedStatement.setParameterValue(PreparedStatement.java:3070)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.setInputParameterBinding(DataSourceQuery.java:1159)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.addParameterDefns(DataSourceQuery.java:605)
at org.eclipse.birt.data.engine.executor.DataSourceQuery.prepare(DataSourceQuery.java:304)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.prepareOdiQuery(PreparedOdaDSQuery.java:517)
at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:346)
at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:463)
at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)
at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)
at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:178)
at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:637)
at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152)
at org.eclipse.birt.report.engine.data.dte.DataGenerationEngine.doExecuteQuery(DataGenerationEngine.java:83)
at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.emitter.ReportItemEmitterExecutor.execute(ReportItemEmitterExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:269)
... 32 more
For reproducing the situation in the test environment I simply modified standard test.rptdesign and added a datasource and a dataset with one sample parameter:
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http:\//www.eclipse.org/birt/2005/design" version="3.2.23" id="1">
<property name="author">Bertie the Platypus</property>
<property name="comments">Not a very interesting report, just a "Hello World" with a param.</property>
<property name="createdBy">Eclipse BIRT Designer Version 4.3.2.v20140211-1400 Build <4.3.2.v20140225-1404></property>
<html-property name="description">Sample report used to test the BIRT viewer.</html-property>
<property name="units">in</property>
<property name="layoutPreference">auto layout</property>
<parameters>
<scalar-parameter name="sample" id="2">
<text-property name="displayName">Sample Parameter</text-property>
<property name="hidden">false</property>
<property name="valueType">static</property>
<property name="isRequired">false</property>
<property name="dataType">decimal</property>
<property name="distinct">true</property>
<list-property name="selectionList"/>
<property name="paramType">simple</property>
<property name="concealValue">false</property>
<property name="controlType">text-box</property>
<structure name="format">
<property name="category">Unformatted</property>
</structure>
</scalar-parameter>
</parameters>
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="compl" id="27">
<list-property name="privateDriverProperties">
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>disabledMetadataBidiFormatStr</name>
</ex-property>
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>disabledContentBidiFormatStr</name>
</ex-property>
</list-property>
<property name="odaDriverClass">oracle.jdbc.OracleDriver</property>
<property name="odaURL">jdbc:oracle:thin:@hawk.insoft03.lan:1521:hawkw</property>
<property name="odaUser">compl_test</property>
<encrypted-property name="odaPassword" encryptionID="base64">Y29tcGw=</encrypted-property>
<property name="odaJndiName">java:comp/env/jdbc/moonDB</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="test" id="28">
<list-property name="parameters">
<structure>
<property name="name">param_1</property>
<property name="paramName">sample</property>
<property name="dataType">string</property>
<property name="position">1</property>
<property name="isInput">true</property>
<property name="isOutput">false</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">:1</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">compl</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">:1</property>
<property name="nativeName">:1</property>
<property name="dataType">string</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select ?
from dual]]></xml-property>
<xml-property name="designerValues"><![CDATA[]]></xml-property>
</oda-data-set>
</data-sets>
<page-setup>
<simple-master-page name="Simple MasterPage" id="3">
<property name="topMargin">1in</property>
<property name="leftMargin">1.25in</property>
<property name="bottomMargin">1in</property>
<property name="rightMargin">1.25in</property>
<page-header>
<grid id="4">
<property name="width">100%</property>
<column id="5"/>
<row id="6">
<cell id="7">
<property name="fontSize">xx-large</property>
<property name="fontWeight">bold</property>
<property name="textAlign">center</property>
<text id="8">
<text-property name="content"><![CDATA[Title]]></text-property>
</text>
</cell>
</row>
</grid>
</page-header>
<page-footer>
<grid id="9">
<property name="width">100%</property>
<column id="10"/>
<column id="11"/>
<row id="12">
<cell id="13">
<text id="14">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</cell>
<cell id="15">
<property name="textAlign">right</property>
<auto-text id="26">
<property name="type">page-number</property>
</auto-text>
</cell>
</row>
</grid>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<text id="17">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<b>Congratulations!</b>
<br><br>
If you can see this report, it means that the BIRT viewer is installed correctly.
<br><br>]]></text-property>
</text>
<grid id="18">
<property name="width">100%</property>
<column id="19">
<property name="width">1.354in</property>
</column>
<column id="20">
<property name="width">5.083in</property>
</column>
<row id="21">
<cell id="22">
<label id="23">
<text-property name="text">Sample Parameter:</text-property>
</label>
</cell>
<cell id="24">
<data id="25">
<list-property name="boundDataColumns">
<structure>
<property name="name">params["sample"]</property>
<expression name="expression">params["sample"]</expression>
</structure>
</list-property>
<property name="resultSetColumn">params["sample"]</property>
</data>
</cell>
</row>
<row id="29">
<cell id="30">
<label id="32">
<text-property name="text">Query result:</text-property>
</label>
</cell>
<cell id="31">
<data id="33">
<property name="dataSet">test</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">Column Binding</property>
<expression name="expression" type="javascript">dataSetRow[":1"]</expression>
<property name="dataType">string</property>
<property name="allowExport">true</property>
</structure>
</list-property>
<property name="resultSetColumn">Column Binding</property>
</data>
</cell>
</row>
</grid>
</body>
</report>
The exceptions raise even in such a simple case. Of course it doesn't take minutes to show, but concerning my report with several datasets taking more than 200 parameters in total, the response time drastically raised from about 30-40 seconds up to 3 minutes.
So I need help!Hello,
Were you able to solve this problem and how?
Thanks -
Jwsc Ant task generates [ERROR] - A document style operation must not have
If the wsdlc Ant task is run on a WSDL file to generate the JWSC file and subsequently the jwsc task is run an error gets generated:
[ERROR] - A document style operation must not have a non header INOUT or OUT Parameter.If the wsdlc Ant task is run on a WSDL file to generate the JWSC file and subsequently the jwsc task is run an error gets generated:
[ERROR] - A document style operation must not have a non header INOUT or OUT Parameter. -
ITunes got an error: An error of type 9037 has occurred
My playlist sometimes produces this error on play from a Applescript:
"iTunes got an error: An error of type 9037 has occurred"
It happens if it is a smart playlist or a playlist. I thought it may be due a bad podcast reference as there was one mp3 podcast file that couldn't be found.
Any assistance in how to solve this or how to investigate further would be greatly appreciated.
JeffHello Mowri,
Well, I think that the 'file specication' problem is another story and is not the cause of error -10661 because kLSExecutableIncorrectFormat is to be thrown BEFORE the script is run.
As for 'file specification' (typeFSS), it has been deprecated under OSX.
Perhaps 10.6 has finished it.
Instead you can use 'POSIX file' (typeFileURL) or 'file' (typeFile) for both existing and non-existing file system object. And 'alias' (typeAlias) for existing file system object.
(Note that 'file' (typeFile) cannot be used by itself for some reason but only in conjunction with command.)
For example, if you're using 'file specification' for 'open for access' command such as -
set hfspath to "HFS:path:to:new file"
set fss to hfspath as file specification -- # 'file specification' (typeFSS) is deprecated
open for access fss with write permission
you may use 'file' such as -
set hfspath to "HFS:path:to:new file"
--set f to hfspath as file -- # you cannot do this for some reason
--set f to file hfspath -- # NG either
open for access file hfspath with write permission -- # 'file' (typeFile) is OK in command parameter
or 'POSIX file' such as -
set posixpath to "/POSIX/path/to/new file"
set furl to posixpath as POSIX file -- # 'POSIX file' (typeFileURL) is OK
open for access furl with write permission
Hope this may help,
H
Message was edited by: Hiroto (fixed typo) -
Servlet error java.lang.IllegalArgumentException: path must begin with a "/
I have just deployed my web app to the oc4j 10 g latest release and whenever I try to log into the webapp I get the following error.
Servlet error
java.lang.IllegalArgumentException: path must begin with a "/"
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:1658)
at org.apache.struts.action.RequestProcessor.doInclude(RequestProcessor.java:1092)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:252)
at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:341)
at org.apache.struts.action.RequestProcessor.processForward(RequestProcessor.java:582)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:260)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:50)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:283)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:254)
at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:309)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at com.janes.jf.filter.LoginFilter.doFilter(LoginFilter.java:25)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.1.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Can someone please help me?
Thanks in advance.add this after your action-mappings section of struts-config.xml
<!-- ========== Controller Configuration ================================ -->
<controller>
<!-- The "input" parameter on "action" elements is the name of a
local or global "forward" rather than a subapp-relative path -->
<set-property property="inputForward" value="true"/>
<set-property property="processorClass" value="org.apache.struts.tiles.TilesRequestProcessor"/>
</controller>
Maybe you are looking for
-
Questions on Asset Data Transfer
Hi Friends, Currently we are in process to remap the company codesu2026 We have two company codes 1) ALFA 2) BETA Business Decision : ALFA is going to move company code BETA System comparability : 1) Chart of Accounts is same 2) Chart of De
-
Please help, this page looks fine in Safari, but in IE, the 2nd and 3rd column are spread out. I want everything to stay to the top; http://www.fuels4less.com/WORKING_INDEX_HELP3.htm Thank you in advance!
-
How do I get my wireless Mac to recognize a wired printer?
Hi, I don't know where to go on the Mac to have it "look for" my Epson WorkForce printer (which is connected to a PC). Can someone please direct me or tell me if it's do-able. It being a new printer, I would hope so, but... Thanks!
-
How do you set the padding values of an HBox in Actionscript? Can somebody explain why components have certain properties when using MXML and different properties when using Actionscript? This is does not make sense to me. For example when using an H
-
Unexpected internal error near index 1
Hi, I am convering al l occurance of "\" into "/" in a string. private String format(){ input="java\\software\\"; System.out.println("Before formating, input:" + input); try{ input=input.replaceAll("\\",