Forum Stats

  • 3,770,291 Users
  • 2,253,091 Discussions


deploying .net function on another device

first of all I have oracle 12 c on windows 8.1 pro operating system and let's we call my device ComputerA I hade tried to deploy .net function which name is clrfn by unsing visual C# clr project that it's code is 

<span class="kwd">public</span><span class="pln"> static int  ClrFN</span><span class="pun">(</span><span class="pln">int x</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="kwd">return</span><span class="pln"> x</span><span class="lit">+100</span><span class="pun">;</span><span class="pln"> </span><span class="pun">}</span>

And after deployment of .net project , this function was added to oracle functions under the same connection settings used in deployment operation and ofcourse that is a normal result of deploy operation As mentioned in this link

But if I want to move this function to another device called ComputerB which hasn't deployed this function and has oracle edition i applied the following steps 1-copy the dll(COMPLETECLR_DLL) that is found under the path oraclehome/BIN/CLR in Computer A To the same path on ComputerB

2- add the following syntax in oracle developer

<span class="kwd">CREATE</span><span class="pln"> </span><span class="kwd">OR</span><span class="pln"> REPLACE LIBRARY CLRLIBRARY1_DLL </span><span class="kwd">AS</span><span class="pln"> </span><span class="str">'$ORACLE_HOME\bin\clr\CompleteCLR.dll'</span><span class="pun">;</span><span class="pln"> </span><span class="pun">/</span><span class="pln">    <br/></span><span class="com">--creating wrapped function as </span><span class="pln"> </span><span class="kwd">CREATE</span><span class="pln"> </span><span class="kwd">FUNCTION</span><span class="pln"> CLRFN <br/>wrapped a000000 </span><span class="lit">230</span><span class="pln"> abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd </span><span class="lit">8</span><span class="pln"> </span><span class="lit">150</span><span class="pln"> </span><span class="lit">138</span><span class="pln"> Qe4UPQTJdKIAtj</span><span class="pun">/</span><span class="pln">GTHho81sZFHAwg0zQLdwdf3RAWLs</span><span class="pun">+</span><span class="pln">wkPFXJQdBfSowcfyGm66MdwykNx0 Vcs3FruWWaMOS1Sz</span><span class="pun">/</span><span class="pln">rr5</span><span class="pun">+</span><span class="pln">dvmDt6Ay2WAJ0mxSZ7PbrY</span><span class="pun">+</span><span class="pln">SPfqSsyZ6ySK5rOwIVcWR1p7H3</span><span class="pun">+</span><span class="pln">n GilSE01SSGeFN7OHmttUJJd</span><span class="pun">+</span><span class="pln">p7KRdDQodmDDkSn56Kwn8avE65KcSeWKQIXMjsZk8grZ8PY9 T0RuLxhRYtselroomFJP1</span><span class="pun">/</span><span class="pln">Y6el2Ksf9qHtkFwJJXTEV</span><span class="pun">/</span><span class="pln">VnLBx0PZEhSq71YUqFFsW63KJCJ</span><span class="pun">+</span><span class="pln"> udoPPVqEsXdS</span><span class="pun">/</span><span class="pln">r0uCJOh  </span><span class="pun">/</span>

3- grant execute on CLRLIBRARY1_DLL To sys --sys is same account that the dll was deployed under in computer A

But when executing clrfn on computerB I am still getting this error Select clrfn(1) from dual

01031.00000 in sufficient privileges

While every thing is ok on Computer A

Is what I'm doing right meaning can I call a function that is deployed on computerA on another computer (computer B) with out deploying .net project on computerB

This discussion has been closed.