HI All,

I chosed storedProcedure which is execute database side (to get speed) but I 
have big problem when I execute it.


in my seach Class : 

private static final String PROCEDURE_NAME = "searchEtudiants";

public static NSMutableDictionary parameters(String pperiode, 
       String pdiplome, String pniveau, String puv, String pnom,
        String pprenom, Number pnum, Long pconseiller) { 
        NSMutableDictionary<String, Object> bindings = new 
NSMutableDictionary<String, Object>(); 
        bindings.takeValueForKey(pperiode, "010_pperiode"); 
        bindings.takeValueForKey(pdiplome, "020_pdiplome"); 
        bindings.takeValueForKey(pniveau, "030_pniveau"); 
        bindings.takeValueForKey(puv, "040_puv"); 
        bindings.takeValueForKey(pnom, "050_pnom"); 
        bindings.takeValueForKey(pprenom, "060_pprenom"); 
        bindings.takeValueForKey(pnum, "070_pnum"); 
        bindings.takeValueForKey(pconseiller, "080_pconseiller"); 
        bindings.takeValueForKey(null, "090_etu_cur"); 
        return bindings; 
        }
etudiantList = 
EOUtilities.executeStoredProcedureNamed(ed,PROCEDURE_NAME,parameters(periode, 
diplome, niveau, uv, nom,prenom, nombre, null));
etudiantList is a NSDictionary


StoredProcedures Information


<EOStoredProcedure searchEtudiants
        arguments : '({columnName = "010_pperiode"; className = 
"java.lang.String"; externalType = "VARCHAR2"; parameterDirection = "1"; 
allowsNull = "Y"; name = "010_pperiode"; }, {columnName = "020_pdiplome"; 
className = "java.lang.String"; externalType = "VARCHAR2"; parameterDirection = 
"1"; allowsNull = "Y"; name = "020_pdiplome"; }, {columnName = "030_pniveau"; 
className = "java.lang.String"; externalType = "VARCHAR2"; parameterDirection = 
"1"; allowsNull = "Y"; name = "030_pniveau"; }, {columnName = "040_puv"; 
className = "java.lang.String"; externalType = "VARCHAR2"; parameterDirection = 
"1"; allowsNull = "Y"; name = "040_puv"; }, {columnName = "050_pnom"; className 
= "java.lang.String"; externalType = "VARCHAR2"; parameterDirection = "1"; 
allowsNull = "Y"; name = "050_pnom"; }, {columnName = "060_pprenom"; className 
= "java.lang.String"; externalType = "VARCHAR2"; parameterDirection = "1"; 
allowsNull = "Y"; name = "060_pprenom"; }, {valueType = "i"; columnName = 
"070_pnum"; className = "java.lang.Number"; externalType = "NUMBER"; 
parameterDirection = "1"; allowsNull = "Y"; name = "070_pnum"; }, {valueType = 
"i"; columnName = "080_pconseiller"; className = "java.lang.Number"; 
externalType = "NUMBER"; parameterDirection = "1"; allowsNull = "Y"; name = 
"080_pconseiller"; }, {columnName = "090_etu_cur"; className = 
"com.webobjects.foundation.NSData"; parameterDirection = "2"; allowsNull = "Y"; 
name = "090_etu_cur"; })'
        name : 'searchEtudiants'
        externalName : 'GERRY.PROFIL_ETUDIANTS.SEARCH_ETUDIANTS'
>


parameters can have null value (allowsNull = "Y") and it's considered in my 
sotredProcedure and tested (so problem)


1 : Parameters are null


283554 [WorkerThread0] DEBUG NSLog  - executeStoredProcedure: searchEtudiants 
withValues:{}
283556 [WorkerThread0] DEBUG NSLog  -  === Begin Internal Transaction
283557 [WorkerThread0] DEBUG NSLog  -  evaluateExpression: 
<com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "{ call 
GERRY.PROFIL_ETUDIANTS.SEARCH_ETUDIANTS (?, ?, ?, ?, ?, ?, ?, ?, ?)}" 
withBindings: 
1:<com.webobjects.foundation.NSKeyValueCoding$Null>(010_pperiode), 
2:<com.webobjects.foundation.NSKeyValueCoding$Null>(020_pdiplome), 
3:<com.webobjects.foundation.NSKeyValueCoding$Null>(030_pniveau), 
4:<com.webobjects.foundation.NSKeyValueCoding$Null>(040_puv), 
5:<com.webobjects.foundation.NSKeyValueCoding$Null>(050_pnom), 
6:<com.webobjects.foundation.NSKeyValueCoding$Null>(060_pprenom), 
7:<com.webobjects.foundation.NSKeyValueCoding$Null>(070_pnum), 
8:<com.webobjects.foundation.NSKeyValueCoding$Null>(080_pconseiller), 
9:<com.webobjects.foundation.NSKeyValueCoding$Null>(090_etu_cur)>


Exception : java.lang.NullPointerException


2 : parameters have nom, prenom, numero and conseiller *null*


247225 [WorkerThread0] DEBUG NSLog  - executeStoredProcedure: searchEtudiants 
withValues:{030_pniveau = "783  -M2"; 010_pperiode = "20101A"; 040_puv = 
"10803"; 020_pdiplome = "MST"; }
247228 [WorkerThread0] DEBUG NSLog  -  === Begin Internal Transaction
247229 [WorkerThread0] DEBUG NSLog  -  evaluateExpression: 
<com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "{ call 
GERRY.PROFIL_ETUDIANTS.SEARCH_ETUDIANTS (?, ?, ?, ?, ?, ?, ?, ?, ?)}" 
withBindings: 1:"20101A"(010_pperiode), 2:"MST"(020_pdiplome), 3:"783  
-M2"(030_pniveau), 4:"10803"(040_puv), 
5:<com.webobjects.foundation.NSKeyValueCoding$Null>(050_pnom), 
6:<com.webobjects.foundation.NSKeyValueCoding$Null>(060_pprenom), 
7:<com.webobjects.foundation.NSKeyValueCoding$Null>(070_pnum), 
8:<com.webobjects.foundation.NSKeyValueCoding$Null>(080_pconseiller), 
9:<com.webobjects.foundation.NSKeyValueCoding$Null>(090_etu_cur)>


Exception : java.lang.NullPointerException


3 : Parameters have conseiller *null*


136288 [WorkerThread1] DEBUG NSLog  - executeStoredProcedure: searchEtudiants 
withValues:{050_pnom = hide; 070_pnum = 11369; 010_pperiode = "20101A"; 
060_pprenom = "Samira"; 020_pdiplome = "MST"; 030_pniveau = "78378322"; 040_puv 
= "11220"; }
136291 [WorkerThread1] DEBUG NSLog  -  === Begin Internal Transaction
136292 [WorkerThread1] DEBUG NSLog  -  evaluateExpression: 
<com.webobjects.jdbcadaptor.OraclePlugIn$OracleExpression: "{ call 
GERRY.PROFIL_ETUDIANTS.SEARCH_ETUDIANTS (?, ?, ?, ?, ?, ?, ?, ?, ?)}" 
withBindings: 1:"20101A"(010_pperiode), 2:"MST"(020_pdiplome), 
3:"78378322"(030_pniveau), 4:"11220"(040_puv), 5:"AOUES"(050_pnom), 
6:"Samira"(060_pprenom), 7:11369(070_pnum), 
8:<com.webobjects.foundation.NSKeyValueCoding$Null>(080_pconseiller), 
9:<com.webobjects.foundation.NSKeyValueCoding$Null>(090_etu_cur)>
143130 [WorkerThread1] INFO er.transaction.adaptor.Exceptions  - Database 
Exception occured: java.lang.NullPointerException


I still have the same error regardless of parameters. What's wrong?


PS : How to cast etudiantList as Entity?


Thnaks for your help

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to