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 :

Did you know?Explore Trending and Topic pages for more stories like this.
--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 Like 45 Dislike
Previous forums Next forums
Other forums

Sql and php order list script problems
Hi im having a few problems with trying to get the coding right on a orders list ive done (or trying

C problem struct and string
Hi guys,

This is my first post and I'm hoping the experts here can help me solve my problem.<

Need help with some php code :)
Hey! I'm quite new to this whole thing, so please don't fire me with shait on this one =D

I'm

Variables and Include
Code: [Select]<?php

$header = $_COOKIE['mss']['header'];
$body = $_COOKIE['mss']['b

HOW to get the bind variables list.
I've the following problem : I've some SQL queries stored in my DB as VARCHAR2 values.
I need t

Passing Arguments to execlp()
I'm writing a program that mimics a unix shell. It's supposed to take commands with arguments and ex

Forgot password won't work
My forgot password thing is not working properly. It is giving me this errorMailbox unavailable. The

how to configure ADS in ABAP instance
Hi All,

I am working on r/3 4.7 ABAP system.Can we configure ADS(adobe document services)

Display error above the login forum help!
Hi guys. just so you know im not asking for someone to do this for me I just need to be pointed in t

Date help - fetch dates for Mondays between xxx and yyy?
Does anyone know the best way to do this? I have two dates, say:

2010-01-26 and 2010-05-30

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash