I also gave up on the solution to talk to DB/2 from the C exit. I think it is possible but not well documented and would require the services team or other developers involved.
Thinking outside of the box and also keeping in mind that I didn't want to impact our current process, we have hundreds of JCLs already in place that I didn't want to update.
I created the following to replace our existing proc.
1. Using the application ID passed from the JCL, call a REXX program to issue the same query to DB/2 as the report specification Exit
2. The REXX creates our temporary sysin for Universal command to copy the PDF file from Z/OS down to the new Windows PDF Server
3. The copy of the PDF file down to the server with a new name of APPNAME.AGNAME.STORAGE_NODE.PDF
Since it is all done in the PROC, all I have to do is distribute the new proc and none of the JCL's need to be updated.
4. Using the Windows Report specification C exit, I parse out the file name setting the APPNAME, AGNAME and STORAGE Node
The local ARSLOAD service picks up the file and processes it perfectly back in to Z/OS.
PM me or Ed if you want to have a detailed discussion.
Cheers
EDIT:
I realized that using the Windows service to load the PDF documents would then require some other process to capture success or failure of the loads. I have disabled the Windows service and now have added another step to the proc. The last step of the proc issues the ARSLOAD command on the Windows server and the return code of ARSLOAD is passed back to the executing JCL.