//===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

解决方案 »

  1.   

    老兄,怎么访问Procedure,怎么传参数我都知道呀。
    可是如果是在Procedure里面自定义的数据类型,.net怎么使用呀?
      

  2.   

    好像不行吧?我觉得自定义类型只能在Oracle自己内部使用,就像Oracle数组一样,在.Net中是不能调用的
    关注,帮你up
      

  3.   

    就是像C里面的结构这样的数据类型,要在Procedure里面自定义,然后在.net里面用它作为输出输入参数来自行存储过程。
    BTW:还想同时提一个问题:如果用户只有Oralce数据库的连接权限,对于自行存储过程有什么影响。我刚才试验了一下,好像在create or replace这里就提示权限不足了。是不是这样的用户就没有办法自行存储过程了?
      

  4.   

    我的想法是用临时表代替,建一个临时表和你的结构相对应,然后将该临时表作为Cursor返回给.net,有关临时表的操作可以在csdn上搜索,有很多,非常简单权限肯定不够啊,需要添加create any procedure权限
      

  5.   

    我想的办法是:直接返回coursor,然后在.net里面填充dataset,最后读出来就好了。不过好像也不是很好。
      

  6.   

    这个问题我再放一天吧。明天还没有人提出更好的办法,我再结贴。
    谢谢CodingPCPiG!:)
      

  7.   

    然后在.net里面要把变量定义成输出的参数。。
    就可以取到。
      

  8.   

    楼上的,你给的例子都是简单数据类型的,这样的程序我也会学的。
    我的问题是,在Oracle的存储过程中自定义的数据类型能否在.net用?.net能够认它麽?
    BTW:你给的例子可是SqlCommand的。
      

  9.   

    存储过程中自定义的数据类型能否在.net用?.net能够认它麽?
    取不出,你只能把它附值给OUT参数来获得。
      

  10.   

    我觉得你回答的问题不是我问的。
    我知道需要将它设成out之后.net里面才能获得。可是.net里面怎么认识这个数据类型?
    就像c里面,如果要在两个程序文件中用到同一个结构体,总要在两个文件中都有这个结构体的定义吧。
    如果我在oracle的procedure里面定义了一个数据类型,.net里面难道就可以自动识别出它?
      

  11.   

    sigh~~~
    结贴算了。
    感谢进来讨论的两位朋友!