Error when call dll from oracle
Posted on
16th Feb 2014 07:03 pm by
admin
Hi all, please help me!
I have dll write C language, I want call it from oracle procedure but it throws the error: "ORA-28546: connection initialization failed, probable Net8 admin", this is the following code and configure tnsnames.ora and listener.ora files :
--Begin configure tnsnames.ora and listener.ora ---
# tnsnames.ora Network Configuration File: D:oracleproduct10.1.0Db_1NETWORKADMINtnsnames.ora
# Generated by Oracle configuration tools.
DEMO =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.62)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = demo)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(Key = abcd))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WLdev)
)
)
WLDEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.62)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = WLdev)
)
)
# listener.ora Network Configuration File: D:oracleproduct10.1.0Db_1NETWORKADMINlistener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = WLdev)
(ORACLE_HOME = D:oracleproduct10.1.0Db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = abcd))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.62)(PORT = 1521))
)
)
--end configure tnsnames.ora and listener.ora ---
--- Begin code function procedure---
Step 1:
CREATE OR REPLACE LIBRARY OTAC_LIBRARY AS 'D:oracleproduct10.1.0Db_1binOTACEngine.dll';
Step 2:
CREATE OR REPLACE TYPE arrayString IS TABLE OF varchar2(256) INDEX BY BINARY_INTEGER --type array string
Step3:
CREATE OR REPLACE
PACKAGE OTAC_PACKAGE IS
FUNCTION OTAC_FUNCTION(param IN arrayString) RETURN INT;
END OTAC_PACKAGE;
Setp4: - add package body
CREATE OR REPLACE
PACKAGE BODY OTAC_PACKAGE AS
FUNCTION OTAC_FUNCTION(param IN arrayString) RETURN INT IS
EXTERNAL LIBRARY OTAC_LIBRARY
NAME "GenerateOTAC" // function call from dll
LANGUAGE C
PARAMETERS (param) ; //param is parameters in function GenerateOTAC
END OTAC_PACKAGE;
Step5:
CREATE OR REPLACE
PROCEDURE TEST_CALL_DLL AS
results VARCHAR2(256);
l_data arrayString := arrayString('84913119743','35-4735-00-300571-0','123456','189452367');
BEGIN
results := OTAC_PACKAGE.OTAC_FUNCTION(l_data);
DBMS_OUTPUT.PUT_LINE(results);
EXCEPTION
when others then
DBMS_OUTPUT.PUT_LINE(sqlerrm|| ' I am in exception');
END TEST_CALL_DLL;
--- End code function procedure-----
I have check the service name and sid is : " WLdev" correct.
I'm not found the root cause of the errors, please help me.
Thanks.
No comments posted yet
Your Answer:
Login to answer
347
45
Other forums
How to add advertisment on top of videos
Hello,
I was told that i should find the answer for this problem in this forums.
I searched a
Storing Values taken from a DB...
Using this code it will generate a short list from my database
<?php
mysql_connect
Calling strings from other php class
I have test1.php{
$string1;
$string2;
....
... //10 strings in this class <
smart reading from a text file
Hello there fellow coders, i was wondering if one of you wouldnt mind helping me with this problem i
error reporting
hey everyone
I have a production server in which I want error reporting but only on some page
Help with parsing this html
Hi,
I've got some html i just need a couple of strings from.. argh, it's freaking me out. I've t
Count on multidimensional array
Hi, i got an array as below:
Array
(
=> Array
(
Help please - How to validate from 2 possible answers
Hi
I hope somebody can help me with what will probably be really simple, I'm pulling my hair
Just wondering what you think about my site
I am new to phpfreaks i just seen this form and thought it would be cool to see what other thought a
Best way to cross matching large datasets
Hi,
Im running a script where am I cross matching about 200 000 data sets with each other. Ea