请找到这个代码。它在我的本地机器上正常工作。它被复制到Windows Server 2008(64位)。它工作很好,很多天。但现在,它挂了,需要20分钟。相同的代码在我的机器上快速工作。如果我将clob转换为varchar,它会起作用,但它不会支持超过32 K.我更新了oracle客户端,现在它也挂起来了。oracle clob参数转换为字符串挂在asp.net
Dim cn As New OracleConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
Dim cmd As New OracleCommand
cn.Open()
cmd.Connection = cn
cmd.CommandType = Data.CommandType.StoredProcedure
cmd.CommandText = "Inet_Pkg_Menu.TopMenu"
cmd.Parameters.Add("pBrCode", OracleDbType.Int32).Direction = Data.ParameterDirection.Input
cmd.Parameters.Add("pRes", OracleDbType.Clob).Direction = Data.ParameterDirection.Output
cmd.Parameters(0).Value = Session("user_code")
cmd.ExecuteNonQuery()
Dim s As String
Dim olob As OracleClob
olob = CType(cmd.Parameters("pRes").Value, OracleClob)
s = System.Convert.ToString(olob.Value) 'Hanged line
类似于对此问题,请检查:http://stackoverflow.com/questions/8838115/poor-performance-getting-clob-field-from-oracle-in-net – Pratik 2013-03-11 17:14:34
你的clob的大小是多少?你是否也尝试启用odp tarcing(http://docs.oracle.com/html/E10927_01/featConfig.htm)? – evgenyl 2013-04-14 05:27:31