[KEYWORDS: ASP.NET READ WRITE CLOB DATA, VB.NET READ WRITE ORACLE CLOB DATA, ORACLE CLOB, CLOB, ORACLE CLOB READ WRITE]
Oracle has Varchar2 with max length of 4000 chars. If you need to sore more than that you have to use CLOB datatype
CLOB stores 4gb of chars. But remember, .NET Only supports string worth 2gb. so you need to handle the scenario
if you want to store 2+gb string into oracle.
Que: How do i Read Write Oracle CLOB data in ASP.NET or VB.NET ?
Ans: It took me 2 days to come up with the simpletes method to read/write ORACLE CLOB data.
And I would like to share that with all you guys.
Step 1: Add a reference – Oracle.Dataaccess.dll ( found in ODP.NET )
Step 2: Imports following namespaces
Imports Oracle.DataAccess.Client
Imports Oracle.DataAccess.Types
Step 3: Create a connection string
Public ReadOnly connectionstring = "data source = oradb;user id = rmsoni;password=rmsoni99"
Step 4: Create Following Public Methods
Public Sub ReadLOBData()
Dim con As New OracleConnection(connectionstring)
con.Open()Dim sql As String = "select CLOBTEXTFIELD from TestCLOB where ID=1"
Dim cmd As OracleCommand = New OracleCommand(sql, con)
Dim dr As OracleDataReader = cmd.ExecuteReader()
dr.Read()
Dim blob As OracleClob = dr.GetOracleClob(0)txtOutput.Text = blob.Value()blob.Close()
dr.Close()
con.Close()
End Sub
Public Sub WriteLOBData()
Dim connection As New OracleConnection(connectionstring)
connection.Open()
Dim strSQL As String = "INSERT INTO TestCLOB (ID,CLOBTEXTFIELD) VALUES (1,:TEXT_DATA) "
'Dim strsql As String = "UPDATE TestCLOB SET CLOBTEXTFIELD=:TEXTDATA where testid=1"
Dim paramData As New OracleParameter
paramData.Direction = ParameterDirection.Input
paramData.OracleDbType = OracleDbType.Clob
paramData.ParameterName = "TEXT_DATA"
paramData.Value = txtInput.Text
Dim cmd As New OracleCommand
cmd.Connection = connection
cmd.Parameters.Add(paramData)
cmd.CommandText = strSQL
cmd.ExecuteNonQuery()
paramData = Nothing
cmd = Nothing
connection.Close()
End Sub
That’s all you need for CLOB.
Enjoy.
[KEYWORDS: ASP.NET READ WRITE CLOB DATA, VB.NET READ WRITE ORACLE CLOB DATA, ORACLE CLOB, CLOB, ORACLE CLOB READ WRITE, ODP.NET, ORACLE AND .NET]
Oracle has Varchar2 with max length of 4000 chars. If you need to sore more than that you have to use CLOB datatype
CLOB stores 4gb of chars. But remember, .NET Only supports string worth 2gb. so you need to handle the scenario
if you want to store 2+gb string into oracle.
Worked wonderful. Thank you.
4xThank’s for greate post.6h I compleatly agree with last post. zwk
паркет и ламинат 7h
8*tnx for the info
saved me a lot of hours .
good and simple.
Actually I am getting an error with that code
Good to know that I’m not the only one who is getting the error with this code.
The error is on the following line:
Dim blob As OracleClob = dr.GetOracleClob(0)
and the error message is:
Specified cast is not valid
Hi!
I’m developing in Visual C#2005, Crystal Reports 2008 and Oracle 10g.
I’m trying to put a Blob Field (img) in a report and, it works perfectly if I execute it in the Crystal Report Environment but, when I try to execute it in the ASP interface it crashes.
I linked the report with the DDBB using OLEDB driver because Oralce’s driver crashes on he server…
Can you help me?
Hi with this code I’m getting an error as : Invalid parameter association- Parameter name TEXT_DATA
Thx
Cool. Thanks a lot!