同类问题:
http://community.csdn.net/Expert/topic/3131/3131831.xml?temp=9.777468E-02

解决方案 »

  1.   

    参考下面://===c#访问存储过程。
    和一般返回結果集合的存儲過程的用法一樣,只是需要加包名。
    ...
    SqlCommand sampleCMD = new SqlCommand("Package.ProName", myConn);
    sampleCMD.CommandType = CommandType.StoredProcedure;
    ...myC
    Dim myConnection As New OracleConnection(connectstring)
            myConnection.Open()
            Dim myCommand As New OracleCommand()
            myCommand.Connection = myConnection
            myCommand.CommandType = CommandType.StoredProcedure        myCommand.CommandText = "packagename.procedurename"        myCommand.Parameters.Add("CURSORname", OracleType.Cursor).Direction = ParameterDirection.Output        Dim myReader As OracleDataReader
            myReader = myCommand.ExecuteReader()        ListBox2.DataSource = myReader
            ListBox2.DataTextField = "PROJECTNAME"
            ListBox2.DataBind()
            ListBox2.SelectedIndex = 0        myReader.Close()
            myConnection.Close()
            myReader = Nothing
            myConnection = Nothing
      

  2.   

    试试
    string spName = "begin ADDSMS; end;";
      

  3.   

    参考一下LGQDUCKY(飘)网友的调用存储过程的办法.
      

  4.   

    可能是你的 cmd.CommandText = spName; 
    这句话当中 spName 可能不仅仅需要写存储过程名,要把包的名字也要写出来吧。
    比如 
         string spName = "XXX.ADDSMS";
         cmd.CommandText = spName; 
    你可以试试。我想问题应该在此。
      

  5.   

    感谢,LGQDUCKY(飘),prettylife(风过留痕),等等