Storey, Robert (DCSO)
2018-06-22 13:22:27 UTC
Morning
Been beating my head against a wall for a day or so trying to get an windows OS command to execute from within a plsql package.
I'm migrating a 32bit 9i to 64bit 11g. on the 32 bit side, this process works just fine. On the 64bit side, I have setup the extrpoc listener same as it is on the 32bit side. I imported the stored procs and functions, so that should cover the internal requirements for the extproc. But, when I execute the process for the OS command on the 64 bit machine, it fails to execure the OS command.
I wrote a small plsql program that just makes a call to the package that has my extproc setup. I have it set to return me the status of the command. Returns a 0 on my 32bit side, but a -1 on my 64 bit side.
After some research, I come across docs id 372512.1. This seems to tell me that I cannot make a call with extproc using the 64bit extproc if the .dll I am lining to is 32 bit. It says that the 64bit extproc on a 64 bit database server is a 64bit process and must load 64-bit DLLs. And since this is windows, there is apparently no method for co-running the 32bit version of extproc.
Long way to go to ask if anyone has run into this and can confirm/deny?
Been beating my head against a wall for a day or so trying to get an windows OS command to execute from within a plsql package.
I'm migrating a 32bit 9i to 64bit 11g. on the 32 bit side, this process works just fine. On the 64bit side, I have setup the extrpoc listener same as it is on the 32bit side. I imported the stored procs and functions, so that should cover the internal requirements for the extproc. But, when I execute the process for the OS command on the 64 bit machine, it fails to execure the OS command.
I wrote a small plsql program that just makes a call to the package that has my extproc setup. I have it set to return me the status of the command. Returns a 0 on my 32bit side, but a -1 on my 64 bit side.
After some research, I come across docs id 372512.1. This seems to tell me that I cannot make a call with extproc using the 64bit extproc if the .dll I am lining to is 32 bit. It says that the 64bit extproc on a 64 bit database server is a 64bit process and must load 64-bit DLLs. And since this is windows, there is apparently no method for co-running the 32bit version of extproc.
Long way to go to ask if anyone has run into this and can confirm/deny?