Copy link to clipboard
Copied
I am upgrading from 4.5 to 8 and find that cfx_fileReadLines is returning incorrect data and I have no idea where from (in 8, works fine in 4.5, so I decided to rewrite the code using cfloop file parameter. There are roughtly 4000 lines and 10 datapoints in each line, along with an id, so there are about 45000 queries I have to do to insert it all. After taking down the Oracle server three times, I've decided to take a step back and ask your advice. It's supposed to have a timeout of 40,000 seconds, so that shouldn't be a problem, and raised Max JVM Heap Size to 1024MB. I know this is all pretty general, but if you had a suggestion I would really appreciate it. Thanks.
Copy link to clipboard
Copied
You will have to pull out the code and find where the error is occuring. 1 step at a time. Not sure what the rest of it had to do with the actual problem.
Copy link to clipboard
Copied
Once you reach a certain number of records, looping becomes too time consuming and resource intensive to be feasible. With 45000 queries, I would say you have passed that limit. It is been a while since I have used Oracle, but I know it has tools for importing from text files. Have you looked into that option? You could import the data into a temporary table, run a few cleansing routines, then bulk insert the information into another table with just a few queries. It would be faster and require far less resources than a loop of that magnitude.
Copy link to clipboard
Copied
I can't pull the code out of a .dll file. Maybe I can, but I have no idea how. Any ideas?
Also, why does this run perfectly well in 4.5 but not 8? I understand there are going to be some backwards compatibility issues, but it shouldn't be *that* hard to replicate, eh?
Copy link to clipboard
Copied
IMO 45,000 records is too much to insert via a loop anyway. You should be looking at the alternative options mentioned. As the records increase, eventually you are going to hit a performance/timeout wall anyway. No matter what looping option you are using.
Also, why does this run perfectly well in 4.5 but not 8?
I understand there are going to be some backwards
compatibility issues, but it shouldn't be that hard to
replicate, eh?
CF 4.5 is about 10 years old ... plus CF 4.5 and CF8 are totally different. CF 4.5 was based on C++, whereas all versions after MX6 are java based. So it is not surprising that some things do not work the same. Also, what you are using is a custom tag, not a built in part of the language. So I do not know whether that is truly is a "backwards compatibility" issue or not. If you insist on using a custom tag, I would do a google search to find a newer one. Preferably java based. I am sure there are newer ones that do the same thing.