Since you are using DBI::ODBC, you should create an ODBC data source pointing to your Oracle database first, and then calling the connect function by passing the data source name you just created for ODBC data source.
-----Original Message----- From: Scott Stansbury [mailto:sstansb...@aol.com] Sent: Wednesday, October 05, 2011 12:22 PM To: Nelson, Erick [HDS] Cc: dbi-users@perl.org Subject: Re: :ODBC fails, SQL*Plus works I'm sorry - that was just fat fingers on the cut/paste... In actuality it is $oracle_host = "192.168.15.200:1535" On Oct 5, 2011, at 12:13 PM, Nelson, Erick [HDS] wrote: > Your $oracle_host Perl var looks like it has more that just the host ip > address and port in it. What is the 10.128 ? > > -----Original Message----- > From: Scott Stansbury [mailto:sstansb...@aol.com] > Sent: Wednesday, October 05, 2011 9:09 AM > To: dbi-users@perl.org > Subject: DBD::ODBC fails, SQL*Plus works > > Folks, > > I could use a tip or lead with the following issue: > > I have a Windows Server 2008 R2 box with Oracle Instant Client 11.2, > with the SQL*Plus and ODBC modules installed. No other Oracle software > is installed. > > I am connecting to an Oracle 10g instance. The following SQL*Plus works: > > sqlplus > user/passwd@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192. > 168.15.200)(PORT=1535)))(CONNECT_DATA=(SID=PROD77))). > > The perl script that contains the following does not: > > use DBI; > > # Oracle / Remedy info > > my $oracle_sid = "PROD77"; > my $oracle_host = "192.168.15.200:1535"; > > my $oracle_userid = "user"; > my $oracle_passwd = "passwd"; > ################ > > my $dsn = "Driver={Oracle in > instantclient_11_2};server=$oracle_host;sid=$oracle_sid"; > > my $dbh = DBI->connect("dbi:ODBC:$dsn", "$oracle_userid", > "$oracle_passwd"); > > It returns (after a few seconds) with an ORA-12154 error: TNS:could not > resolve the connect identifier specified ( SQL-08004). > > Thanks for any help... > > Scott... > > > > Scott...