Hi,
I have an Oracle Forms 11.1.2.2 Application that is deployed to an Oracle Fusion Middleware 11g Weblogic environment. The application utilizes the SQL*Ldr utility installed on the AS server to allow the user to load raw data files, that are on their machine, into a database over the web (intranet) without the need for any Oracle Client software on the client machine.
Basic logic of the application:
- user selects the file(s) to transfer using the Oracle Forms 11g application. The application uses client_get_file_name to get the file's location (works fine)
- for each file to be transfered to the server the webutil_file_transfer.Client_to_As is called. (works fine)
- execute a batch script to initiate the SQL*Ldr utility on the AS server. The application uses the HOST command. (works fine)
- for each SQL*Ldr output file (.log, .bad, .dsc) the file is transferred back to the client machine using webutil_file_transfer.As_to_Client (works fine only if there is only one file to transfer but fails if there are multiple output files to transfer. The second call to the webutil_file_transfer.As_to_Client always fails within the same session)
I have tried coding both forms of the webutil_file_transfer.As_to_Client (and _with_progress) but neither of them seems to work. On every instance the second call returns false.
The application server is a Windows 2008 virtual machine.
Here is the PL/SQL code from the procedure i am calling for each file to be transferred to the client:
IF webutil_file_transfer.Is_AS_readable(server_file_par) THEN
l_success := webutil_file_transfer.AS_to_Client_with_progress (
clientFile => client_file_par,
serverFile => server_file_par,
progressTitle => 'Download in progress',
progressSubTitle => 'Please wait');
if (not l_success ) then
return false;
end if;
return true;
ELSE
-- the server file
raise unreadable_file_ex;
END IF;
I believe the following is the relevant sections of the webutil.cfg: install.syslib.location=/webutil install.syslib.location.0.0=/webutil/win32 install.syslib.location.0.1=/webutil/win64 # Add/change the following if you want to specify a different client location # where the syslib libraries can be downloaded. # Format: # install.syslib.location.client.<os>.<arch>=<location> install.syslib.location.client.0.0=webutil\syslib\$(SERVERHOST)\win32 install.syslib.location.client.0.1=webutil\syslib\$(SERVERHOST)\win64 # Change size and version if necessary, like when upgrading the library. # Normally this would not be required since most of these libraries come with # install itself. Jacob however does not come with install # Format: # install.syslib.<os>.<arch>.<package>.<n>=name|size|version|showDownloadDialog install.syslib.0.0.7.1=jacob-1.14.3-x86.dll|102400|1.14.3|true install.syslib.0.1.7.1=jacob-1.14.3-x64.dll|117760|1.14.3|true install.syslib.0.0.9.1=JNIsharedstubs.dll|45056|1.0|true install.syslib.0.1.9.1=JNIsharedstubs.dll|58368|1.0|true install.syslib.0.0.9.2=d2kwut60.dll|81920|1.0|true install.syslib.0.1.9.2=d2kwut60.dll|102400|1.0|true # You can also add your own libraries in here, e.g. #install.syslib.0.0.user.1=testwebutil.dll|204872|1.0|true install.syslib.0.0.user.1=ffisamp.dll|40960|1.0|true #install.syslib.0.1.user.1=ffisamp.dll|35328|1.0|true transfer.database.enabled=TRUE transfer.appsrv.enabled=TRUE transfer.appsrv.workAreaRoot= transfer.appsrv.accessControl=FALSE #List transfer.appsrv.read.<n> directories and #List transfer.appsrv.write.<n> directories transfer.appsrv.read.1= transfer.appsrv.write.1= |
Has anyone else run into an issue with transferring multiple files from the Application Server to the Client machine? If so, what was your work around?
Let me any other information you may need to be helpful. I have searched high and low for information on this any much luck. Any assistance would be greatly appreciated.
Thanks,
Tony