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
PHP Captcha Error help - replace the "die" command
Hi All,
I am after a bit of help with a Captcha spam protection box.
The site gave me
Redirect not working after making a POST/GET
Hi Everyone,
I am a novice in PHP. Here I have 2 pages, one page with a textbox and button an
Export hangs
Hi all, please help
I have a Oracle 10.2.0.3.0 database. When I want to query the dba_segmen
Reditecting pages based on logic
Newbie here, apologies in advance!
I am trying to use the header function to forward one of a
How can I get my program to read a larger array ??
Hi:
I have this program that reads from an array to do calculations. The array are just t
Not reloading page after php form submit
Hello helpful souls out there. You guys have come through for me in the recent past and I'm hoping s
The control with ID 'ace' requires a ScriptManager on the page
I'm trying to add a simple AlwaysVisibleControlExtender to my page, but it's not working. I get the
A little help needed passing hidden values to next page
I have a page that has hidden values in a form.
example
Code: <input name='signupID
mysql timestamp manipulation
How could I use a timestamp (e.g 2009-10-30 13:20:35 ), and with php find out if it is:
from
Line break?
Hi, I'm new to the forum and new to php. I'm not sure if I'm using the correct terminology so here i