Error while trying to import tables-dsn names

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Error while trying to import tables-dsn names

Post by ds_ram »

Hi
We are getting the following error while trying to import tables from Oracle 10g

DSR.MetaGeta(GET.TABLES)(SQLConnect('castle','hg426c')): BCI Error:
SQLSTATE=IM002,CODE=0,[DataStage][SQL Client][ODBC][DataDirect][ODBC lib] Data source name not found and no default driver specified

We have defined the dsn names in .odbc.ini, uvodbc.config and also modified dsenv.

entry in uvconfig.odbc
<oracle10>
DBMSTYPE = ODBC

Still we are getting the error. Please help us in getting this resolved. Also kindly let me know, if you need any additional info.

Thanks in advance
gshankar007
Participant
Posts: 4
Joined: Thu Mar 08, 2007 12:18 am
Location: Hyderabad
Contact:

Re: Error while trying to import tables-dsn names

Post by gshankar007 »

1.
If you using a Native ODBC driver , you need to make sure this is part of the environmental variable setting

2. you could try creating a new DSN using the standard Driver (DB Specific)

3. Check for the DB Specific access rights

Any one of the above should solve your problems ..
gshankar
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Post by ds_ram »

Hi Shankar
The dbuser has no rights problem. We have given two entries in the file .odbc.ini for both wire and non-wire for Oracle. Does having both of them in the file make an issue ?

Please advise
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Please post the entries for "castle" from .odbc.ini and from uvodbc.config file.

Did you restart DataStage after editingthe .odbc.ini file?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Post by ds_ram »

entry in .odbc.ini
[Oracle]
Driver=/opt/dataStage/Ascential/DataStage/branded_odbc/lib/VMor820.so
Description=DataDirect 5.00 Oracle
ApplicationUsingThreads=1
ArraySize=60000
CatalogIncludesSynonyms=1
CatalogOptions=0
DefaultLongDataBuffLen=1024
DescribeAtPrepare=0
EnableDescribeParam=0
EnableNcharSupport=0
EnableScrollableCursors=1
EnableStaticCursorsForLongData=0
EnableTimestampWithTimeZone=0
LocalTimeZoneOffset=
LockTimeOut=-1
LogonID=
OptimizeLongPerformance=0
Password=
ProcedureRetResults=0
ServerName=<servername>
UseCurrentSchema=1

[Oracle Wire Protocol]
Driver=/opt/dataStage/Ascential/DataStage/branded_odbc/lib/VMora20.so
Description=DataDirect Oracle Wire Protocol
ApplicationUsingThreads=1
ArraySize=60000
CachedCursorLimit=32
CachedDescLimit=0
CatalogIncludesSynonyms=1
CatalogOptions=0
DefaultLongDataBuffLen=1024
DescribeAtPrepare=0
EnableDescribeParam=0
EnableNcharSupport=0
EnableScrollableCursors=1
EnableStaticCursorsForLongData=0
EnableTimestampWithTimeZone=0
HostName=<servername>
LocalTimeZoneOffset=
LockTimeOut=-1
LogonID=
Password=
PortNumber=
ProcedureRetResults=0
SID=
UseCurrentSchema=1


For uvodbc.config

<oracle10>
DBMSTYPE = ODBC

if these entires are correct, we will restart again. But I wanted to clarify if there is no other issue before restarting.
Last edited by ds_ram on Tue Apr 17, 2007 11:15 pm, edited 1 time in total.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

:!: You've edited the template entries in the .odbc.ini file, not something you should be doing. They should be reverted back and copied to a new section of the file. Also note that the name of that entry must match to the entry in the uvodbc.config file.

At the very least, those two changes need to be made.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

I dont see any entries for the DSN "castle".
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
kommven
Charter Member
Charter Member
Posts: 125
Joined: Mon Jul 12, 2004 12:37 pm

Post by kommven »

First line is the Connection name and oracle10 is missing there.
oracle10 is the Connection Name that you specified at your project level {uvodbc.config}

Create a copy of the template and start editing it.
Connection Name in the first line, Hostname, PortNumber and SID are mandatory. Get these information from your DBA or Admin.
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Post by ds_ram »

Hi Kommven,
I have few questions here.
1. We need to have a separate entry for the dsn(instead of using the template). which should start with the dsn name like

[oracle10]
.........
right ?

2. Can we keep entries for both wire and non-wire protocols in the same .odbc.ini file ? If yes, in such a case we would have 4 entries, two for each of the dsns.

3. when you say connection name, I assume that you mean the dsn or we need to specify it separately again after the line [oracle10] with the parameter "ConnenctionName" ?

4. HostName, PortNumber and SID have been specified in the wire Protocol but not in non-wire. Should we need to mention them in both the places ?

5. In the file uvodbc.config, a single entry is fine or we need to give the hostname, portnumber etc.. ?

Thanks in advance.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

1. Yes.

2. Yes.

3. 'ConnectionName' just means what you use in your jobs. Basicall, the 'dsn'.

4. Nope. Client (non-wire) drivers get that from the tns entry.

5. Single entry.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Post by ds_ram »

Hi chulett,
I did all the things as said. Server has also been restarted. but when i tried to import an odbc table i got this error:

Error calling subroutine: DSR_IMPORT (Action=14); check DataStage is set up correctly in project project1
(The connection is broken (81002))
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Sorry, that's a new one on me and a search of the forums doesn't reveal anyone posting that message before. Suggest you contact your official Support provider.
-craig

"You can never have too many knives" -- Logan Nine Fingers
ds_ram
Participant
Posts: 30
Joined: Fri Apr 06, 2007 6:04 am
Location: Bangalore

Post by ds_ram »

After re-starting the server, it works well for wire protocol but not for non-wire. But we have the oracle client installed on the machine where the DataStage server is installed. Still we could not connect using non-wire protocol. Can you help me on this?
nick.bond
Charter Member
Charter Member
Posts: 230
Joined: Thu Jan 15, 2004 12:00 pm
Location: London

Post by nick.bond »

If you're running with oracle and already have the oracle client installed why don't you use the OCI stage which will be quicker? Unless you have specific requirements for using ODBC.
Regards,

Nick.
chulett
Charter Member
Charter Member
Posts: 43085
Joined: Tue Nov 12, 2002 4:34 pm
Location: Denver, CO

Post by chulett »

Have you configured DataStage for Oracle? It's documented in the Install and Upgrade Guide and requires the dsenv file be edited to contain specific entries for ORACLE_HOME and your 'Shared Library Path'.
-craig

"You can never have too many knives" -- Logan Nine Fingers
Post Reply