Page 1 of 1

Bind20: Command not found

Posted: Tue Nov 01, 2011 2:09 pm
by irshanuddin
We are currently in the process of upgrading from 8.1 to 8.5 and are also switching from Windows based servers to Linux Red Hat. I am working on setting up the odbc.ini and uvodbc.config files. Our primary source of data is AS400 and we have existing jobs that all use the ODBC stage to connect to AS400.
I did set up my odbc.ini file and my uvodbc.config.
But I have not been able to figure out where my bind command resides.
I tried to find it by name and it did not bring anything back.
I have a 3-tier topology with web server on one box and DSEngine on another and windows based clients.
I dont even see a branded_odbc directory under my $DSHOME.
Am I missing something?

Thanks for the help in advance!

Posted: Tue Nov 01, 2011 3:19 pm
by lstsaur
If you don't even have a branded_odbc directory, you are not going to find the subdirectory to issue the 'bind' command. Do you have DB2 Connect client installed on the server?

Posted: Tue Nov 01, 2011 5:29 pm
by ray.wurlod
The branded_odbc directory is not a subdirectory of DSEngine. Go up a level.

Posted: Tue Nov 01, 2011 5:30 pm
by qt_ky
You can view your new default .odbc.ini file to find the path to the drivers.

Default path example from my .odbc.ini file (8.5 on AIX):

Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMdb224.so

compare that with the $DSHOME value:

$ echo $DSHOME
/opt/IBM/InformationServer/Server/DSEngine

Note that branded_odbc is not under DSEngine but one level up from it.

The bind## command is here (## changes from version to version):

/opt/IBM/InformationServer/Server/branded_odbc/bin
$ ls -l
-rwxrwxr-x 1 dsadm dstage 1858187 Sep 21 2010 bind24
-rwxrwxr-x 1 dsadm dstage 25343 Sep 21 2010 ddtestlib

The bind files are here:

/opt/IBM/InformationServer/Server/branded_odbc/bind
$ ls
DDOC510A.bnd DDODBC_LUW.lst DDON510C.bnd DDOS510A.bnd DDOU510B.bnd
DDOC510B.bnd DDODBC_MVS.lst DDOR510A.bnd DDOS510B.bnd DDOU510C.bnd
DDOC510C.bnd DDON510A.bnd DDOR510B.bnd DDOS510C.bnd
DDODBC_400.lst DDON510B.bnd DDOR510C.bnd DDOU510A.bnd

Posted: Tue Nov 01, 2011 5:34 pm
by qt_ky
You can also use the find command by giving it a starting path to search and a wildcard file name to search on:

$ find /opt/IBM -name 'bind??' >find_bind.txt

$ cat find_bind.txt
/opt/IBM/InformationServer/Server/branded_odbc/bin/bind24

Posted: Wed Nov 02, 2011 8:25 am
by irshanuddin
Thanks to everyone who replied. I was able to find my bind command a level up as suggested. I ran the commands after running my . ./dsenv.

[root@chfoh-vls-etltstapp1 DSEngine]# cd /opt/IBM/InformationServer/Server/branded_odbc/bin
[root@chfoh-vls-etltstapp1 bin]# ls -ltra
total 1176
-rwxrwxr-x 1 dsadm dstage 8408 Sep 21 2010 ddtestlib
-rwxrwxr-x 1 dsadm dstage 1176925 Sep 21 2010 bind24
drwxrwxr-x 2 dsadm dstage 4096 Oct 5 17:56 .
drwxrwxr-x 15 dsadm dstage 4096 Oct 13 16:37 ..
[root@chfoh-vls-etltstapp1 bin]# ./bind24 TESTCRPQ
User Name: etl
Password:
SecurityMechanism: ''
Creating packages ...Packages created and bound.

I restarted services after I bound my DSN, but am still unable to see the DSN in my list of drop-down in import table definitions. Do I need to reboot the box?
Thanks again!

Posted: Wed Nov 02, 2011 8:33 am
by chulett
Some of the drop-down lists allow you to type directly in them, might give that a shot.

Posted: Wed Nov 02, 2011 8:42 am
by irshanuddin
Craig - Thanks for the suggestion, but doesnt look like mine allows typing in the DSN name.
I have an email in to the concierge service, but that's like watching paint dry.
You guys reply so much quicker!

I did go ahead and reboot the box too, just in case, but doesnt seem like that helped either.
Any other suggestions?

Posted: Wed Nov 02, 2011 8:45 am
by irshanuddin
Another question I have is do I need to specify the "Collection" variable in the odbc.ini? We connect to various libraries on AS400 and I was wondering I can list them all in the same line, rather than creating a new DSN entry for each library. We do fully qualify the file name with library name in our source SQL, so wondering if I can leave that blank?

Thanks!

Posted: Wed Nov 02, 2011 10:14 am
by BI-RMA
I am not sure wether you have to specify a default library, but once you specified one you can access all the librarys granted to you via ODBC.

Posted: Wed Nov 02, 2011 11:37 am
by lstsaur
Please post your odbc.ini file. Also what you mean by "after bound the DSN"?

Posted: Wed Nov 02, 2011 1:21 pm
by irshanuddin
This is from my .odbc.ini:
[TESTCRPQ]
Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMdb224.so
Description=DataDirect DB2 Wire Protocol Driver
AddStringToCreateTable=
AlternateID=
Collection=
DynamicSections=100
GrantAuthid=PUBLIC
GrantExecute=1
IpAddress=xxxxx.xxxxx.com
IsolationLevel=CURSOR_STABILITY
Location=TESTCRPQ
LogonID=
Password=
Package=QGPL
PackageOwner=
TcpPort=446
WithHold=1

And this from my uvodbc.config
<TESTCRPQ>
DBMSTYPE = ODBC
And this this what I was referring to about binding the DSN:

[root@chfoh-vls-etltstapp1 DSEngine]# cd /opt/IBM/InformationServer/Server/branded_odbc/bin
[root@chfoh-vls-etltstapp1 bin]# ls -ltra
total 1176
-rwxrwxr-x 1 dsadm dstage 8408 Sep 21 2010 ddtestlib
-rwxrwxr-x 1 dsadm dstage 1176925 Sep 21 2010 bind24
drwxrwxr-x 2 dsadm dstage 4096 Oct 5 17:56 .
drwxrwxr-x 15 dsadm dstage 4096 Oct 13 16:37 ..
[root@chfoh-vls-etltstapp1 bin]# ./bind24 TESTCRPQ
User Name: etl
Password:
SecurityMechanism: ''
Creating packages ...Packages created and bound


Thanks!

Posted: Wed Nov 02, 2011 2:26 pm
by lstsaur
Oh no, I think 'QGPL' is the package that you should bind from the ./bind24 command line. Collection in the .odbc.ini file should be coded with a NULLID value. But still couldn't figure out why the TESTCRPQ is not displayed in the DSN dropdwon list since your .odbc.ini and uvodbc.config are correct.

Posted: Wed Nov 02, 2011 6:04 pm
by chulett
Where are your files located? Off the top of my head, .odbc.ini should be in $DSHOME while uvodbc.config should be in each project that needs it.

Posted: Thu Nov 03, 2011 7:50 am
by irshanuddin
I figured it out.
Craig's last reponse is basically what I wasnt doing, I did not have the ODBC entry in the uvodbc.config file in the Project folder.
I had created another ODBC connectio previously for SQL Server, but did not recall having to add it to the project level uvodbc file.

But once I added that in, it was all good, I was able to see the DSN in the dropdown, was able to import table definitions and was also able to creat and run test jobs to see if data is flowing.

Thanks everyone for all the help!