My company is currently looking for a third party software to connect from our Handheld Devices to our Oracle Database. We used to go through the Web Service, but that is no longer available to us.
So, we are trying to call an Oracle Database Function from our Handheld Device in order to imitate what we had and avoid recoding. The function we are calling returns an array. We have run your code and been able to connect to the database and get a return value from our function, but we are unable to return an array. We are working with Visual Studio .NET 2003, Compact Framework in C#, and we downloaded a demo version of the OraDirect .NET Mobile last week. Here is the code we have so far. The last line is where the failure occurs.
OracleConnection myConn = new OracleConnection("User Id=user;Password=password;Port=1521;Server=999.999.999.99;Sid=test");
myConn.Open();
OracleCommand getFunc = new OracleCommand("K_ADCI_WS.F_VALIDATE_USER",myConn);
getFunc.CommandType = System.Data.CommandType.StoredProcedure;
//Prepare parameters - input parameters
OracleParameter pUser = getFunc.Parameters.Add("pvar_oracle_id", "XXXXXXX");
sHashPassword = GetHash("XXXXXXX", "temppass");
OracleParameter pHashPass = getFunc.Parameters.Add("pvar_hashed_password_id", Convert.FromBase64String(sHashPassword));
OracleParameter pVersion = getFunc.Parameters.Add("pvar_hh_version", sVersion);
//output parameter
OracleParameter pUserTable = new OracleParameter();
pUserTable.ParameterName = ":t";
pUserTable.OracleDbType = OracleDbType.Array;
pUserTable.ObjectTypeName = "ttbl_users";
pUserTable.Direction = System.Data.ParameterDirection.Output;
getFunc.Parameters.Add(pUserTable);
getFunc.ExecuteNonQuery();
Thanks for any help!