• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1194
  • Last Modified:

Passing an array of values in a string from Crystal Reports 2011 to ORACLE 11G INTO A CLOB data type in a store procedure

I would like to pass an array of value  for exampe '1203030','1S0303030','2002022' from Crystal reports to a CLOB and then parse the values to insert into a table.

The string will exceed 4000 characters so I am unable to store in VARCHAR2 data type.
Can this be done?  If so, could you give me an example?
0
cookiejar
Asked:
cookiejar
  • 5
  • 4
  • 2
  • +1
1 Solution
 
mlmccCommented:
Crystal Reports is a reporting tool.  It isn't intended to be used to change/update a database.

Is Crystal just the source of the values or is your intent to use Crystal to populate the database?

mlmcc
0
 
paquicubaCommented:
Same here. Crystal runs in a READ ONLY transaction, so you need to find another interface that can write to the database.
0
 
cookiejarAuthor Commented:
My source of values are being sent to Crystal multi-select parameter via JAVA.  From Crystal the values will be sent to an ORACLE stored procedure to write to a table.
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
cookiejarAuthor Commented:
Oops this question should have been submitted to ORACLE experts.
0
 
slightwv (䄆 Netminder) Commented:
>>Oops this question should have been submitted to ORACLE experts.

It was.  Since Crystal Reports was in the title, I never posted since I'm not a Crystal person and figured mlmcc would handle it.

>>From Crystal the values will be sent to an ORACLE stored procedure to write to a table.

So is the question really how to pass a CSV list into an Oracle procedure, parse it and insert the values into a table?
0
 
cookiejarAuthor Commented:
How do I remove it from your queue and  send to ORACLE queue?
0
 
slightwv (䄆 Netminder) Commented:
>>How do I remove it from your queue and  send to ORACLE queue?

It is posted in the Oracle Zone.  Many Experts are also Experts in other areas.  It was the 'Crystal Reports' aspect of the title of the question that confused us.
0
 
cookiejarAuthor Commented:
> So is the question really how to pass a CSV list into an Oracle procedure, parse it and insert the values into a table?

Yes,  pass a CSV list to ORACLE stored procedure that  will exceed 4000 characters.
0
 
slightwv (䄆 Netminder) Commented:
Make the input to the procedure a CLOB.  Then you need to change the Java program to use a compatible object type.

Now for the format of the CSV, 'a','b','c' will likely not work.  You will either need to change it to: 'a,b,c' or double up on the single quotes so Oracle can handle it(all single quotes, no double quotes used): '''a'',''b'',''c'''

To parse it in the procedure once you get it, there are many examples out there on how to do this.

If you search this site (or the web) for str2tbl, there is a function you can use or you can write your own.

Let us know what pieces you need help with.  I can help with any of the Oracle pieces but I'm not a Crystal or Java person.
0
 
cookiejarAuthor Commented:
Here's a snippet of code that was sent to me by one of your experts sometime of ago.  This is what is being using for a VARCHAR2 data type.  Will this work with a CLOB?

CURSOR parse_org_list IS
   SELECT replace(txt, '''', NULL) org_id
FROM (SELECT REGEXP_SUBSTR (p_orglist, '[^,]+', 1, LEVEL) txt FROM DUAL
      CONNECT BY LEVEL <= LENGTH (p_orglist) - LENGTH (REPLACE (p_orglist, ',')) + 1);
0
 
slightwv (䄆 Netminder) Commented:
It should work fine with 10g and above.

There were some restictions on some functions like REPLACE with CLOBs but I think most of those have been resolved in newer releases.
0
 
mlmccCommented:
The questio is only in the Oracle database zone.  many of have filters set to look at the title and the body for key words in case a question is asked in the wrong zone.

You can export a Crystal report and update a database through an ODBC connection but that isn't what you want.

mlmcc
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 4
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now