2014-02-19 26 views
0

當我試圖調用一個SP獲得例外低於..調用存儲過程從asp.net和聲明中缺少

System.Data.OracleClient.OracleException:ORA-06550:第1行,第7列: PLS-00201:標識符 'ULTIMUS.PUSH_PULL_MESSAGE' 必須被聲明 ORA-06550:第1行,第7列: PL/SQL:語句忽略

在System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle,的Int32 rc) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle,C ommandBehavior行爲,布爾needRowid,OciRowidDescriptor & rowidDescriptor,ArrayList的& resultParameterOrdinals) 在System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(布爾needRowid,OciRowidDescriptor & rowidDescriptor) 在System.Data.OracleClient.OracleCommand.ExecuteNonQuery() 在_Default。 GetPushPullReply(MSISDN字符串,字符串短信,簡碼字符串)在C:\的Inetpub \ wwwroot的\ pushpullapps \ Default.aspx.cs:行73

目前我使用...下面的代碼..

OracleConnection con = new OracleConnection(); 
con.ConnectionString = conString; 
con.Open(); 
OracleCommand mycom = new OracleCommand(); 
mycom.CommandText = "ultimus.push_pull_message"; 
mycom.Connection = con; 
mycom.CommandType = CommandType.StoredProcedure; 
saveSer("Calling sp..."); 
mycom.Parameters.Add("cell_no", OracleType.VarChar, 2000).Value = msisdn; 
mycom.Parameters["cell_no"].Direction = ParameterDirection.Input; 
mycom.Parameters.Add("msg_txt", OracleType.VarChar, 2000).Value = sms; 
mycom.Parameters["msg_txt"].Direction = ParameterDirection.Input; 
mycom.Parameters.Add("msg_out", OracleType.VarChar, 2000).Direction = ParameterDirection.Output; 
saveSer("adding parameter..."); 
mycom.ExecuteNonQuery(); 
saveSer("Execute successfully...."); 
String output = mycom.Parameters["msg_out"].Value.ToString(); 
saveSer("Output found..." + output); 
con.Close(); 
return output; 
+0

請確保您有與所定義的存儲過程正確的名稱,並且可以從連接字符串中的登錄憑證訪問。 – NoChance

+0

我認爲這意味着您的存儲過程第1行第7列出現錯誤。我無法確定,因爲你還沒有發佈你的存儲過程! –

+0

其實我沒有存儲過程...我只有訪問憑證.. 我已經從PHP訪問此SP ..但通過ASP獲取問題.. 謝謝 –

回答

0

你用什麼用戶連接到你的數據庫? 如果Ultimus公司是軟件包名,和架構包是在不同的是,你與你連接的用戶將不得不添加架構,以及:

"schemaname.ultimus .push_pull_message";