Oracle clob参数转换为字符串在asp.net中挂起



请查看此代码。它在我的本地机器上正常工作。它被复制到windows server 2008(64位)。它工作了许多天。但现在,它挂着,花了20分钟。同样的代码工作在我的机器快。如果我将clob转换为varchar,它将工作,但它将不支持超过32k。我更新了oracle客户端,现在它也挂起了

    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

我正在使用Oracle Clob,这是非常容易的,没有必要进行类型转换,只是假设它作为asp.net中的字符串,这里是一个例子:

Dim sql = "select xmllagg (XMLElement("user",xmlattributes(user_id "user_id"))).getClobVal() from users" ' '这只是返回clob值的例子

Dim adp As New Data.OleDb。MyConnectionString OleDbDataAdapter (sql)

adp.Fill (dt)

Dim data As String = dt.Rows[0][0].toString()

现在在data变量中有结果

最新更新