This is a discussion on C# Program, Passing LongVarChar to Package expecting CLOB. within the Oracle Database forums, part of the Database Server Software category; --> Greetings All, I am not sure if this is the location for this issue but I will ask anyhow. ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Greetings All, I am not sure if this is the location for this issue but I will ask anyhow. In short I have a C# program that calls a package, the package takes one argument and that argument is defined in the package as a clob. I am using the OleDb provider for Oracle MSDAORA to make all this happen in the C# program. The problem is that the object I am passing to the package is not being accepted as a complete clob. In the program I am using the OleDbType.LongVarChar data type to hold the value of my data in the program and this is what I am passing to the package. I think that that the package can only accept 4k of the clob at a time and therefore the rest of my clob is being truncated? My question is this: Can I pass a clob to a package in Oracle from a C# program directly or am I limited by how much I can pass at a time? I have this bad feeling that I am going to have to put the file on disk and then use PL/SQL to read it in via 32k chunks to build the clob. Let me know if any of you can assist. It would be greatly appreciated. TFD |
| |||
| I realize this is of absolutely no use to you in C#, but I have had problems in the past with the particular JDBC driver used to handle *LOB's in Oracle and the resulting value truncation. Have you checked any other ADO/ODBC/OLEDB, etc. drivers that may be available for C#? Regards, Steve |
| ||||
| Steve, thanks for the reply. The issue is a limitation of PL/SQL. You cannot pass more that 32K at a time to PL/SQL and that prevents me from passing the entire clob to the Package. Some work arounds include creating a temporary clob in memory on the server and populating it via the C# code. ONce populated you can then pass that temp clob object to the package, etc. I am tryign to dig up a good C# example of this type of operation. TFD |
| Thread Tools | |
| Display Modes | |
|
|