stephy
New member
- Joined
- Aug 28, 2006
- Messages
- 1
- Programming Experience
- Beginner
Hi everyone,
I'm trying to insert into a table which has a column of type LONG that is used to contain large texts, by executing a stored procedure. However i'm only able to execute it for the first few times only. Subsequent times when i hit this error message - "Ora-01460 Unreasonable or Unimplemented conversion requested", i would have to exit my .NET application and run it again.
I have tried some solution recommended by installing ODP.NET for such large data types, but to no avail. Have i missed out anything? Could someone shed some light?
Here's what i have written in my .NET application:
And the stored procedure goes like this:
Any help would be very much appreciated.
I'm trying to insert into a table which has a column of type LONG that is used to contain large texts, by executing a stored procedure. However i'm only able to execute it for the first few times only. Subsequent times when i hit this error message - "Ora-01460 Unreasonable or Unimplemented conversion requested", i would have to exit my .NET application and run it again.
I have tried some solution recommended by installing ODP.NET for such large data types, but to no avail. Have i missed out anything? Could someone shed some light?
Here's what i have written in my .NET application:
VB.NET:
Public Shared Sub InsertQueue(ByVal identity As String, _
ByVal processFlag As Integer, _
Optional ByVal strInputXML As String = Nothing _
)
Dim conn As OleDbConnection
Dim strSp As String = clsConnection.DBOwner & ".USP_INS_KIF_QUEUE"
Dim prmParam(3) As OleDbParameter
prmParam(0) = New OleDbParameter("@returnvalue", OleDbType.Integer)
prmParam(0).Direction = ParameterDirection.Output
prmParam(1) = New OleDbParameter("@inputxml", OleDbType.LongVarChar, 0, ParameterDirection.Input, _
True, Nothing, Nothing, Nothing, DataRowVersion.Current, strInputXML)
prmParam(2) = New OleDbParameter("@identity", identity)
prmParam(3) = New OleDbParameter("@processflag", processFlag)
Try
conn = New OleDbConnection(clsConnection.ConnectionString)
conn.Open()
OleDbHelper.ExecuteNonQuery(clsConnection.ConnectionString, CommandType.StoredProcedure, strSp, prmParam)
clsCommon.ParseException(prmParam(0).Value)
Catch ex As Exception
Throw ex
Finally
conn.Close()
conn.Dispose()
End Try
End Sub
And the stored procedure goes like this:
VB.NET:
CREATE OR REPLACE PROCEDURE EKRISMGR.USP_INS_KIF_QUEUE -- Stored Procedure for table KIF_QUEUE
(
v_returnvalue OUT NUMBER,
v_inputxml IN LONG,
v_identity IN varchar2,
v_processflag IN NUMBER
)
AS
recCount INTEGER;
BEGIN
INSERT INTO EKRISMGR.KIF_QUEUE (INPUT_XML, IDENTITY, PROCESSFLAG, STARTDATETIME)
VALUES (v_inputxml, v_identity, v_processflag, SYSDATE);
recCount := SQL%ROWCOUNT;
IF (recCount > 0) THEN
v_returnvalue := 0;
ELSE
v_returnvalue := 1000;
END IF;
RETURN;
END;
Last edited by a moderator: