Quotes get real tricky when doing system calls. This method works for me .... put your SQL into a varible using 'qx' (or qq, then run it with system), such as
qx{sqlplus / << SQLEOF set heading off set linesize 120 spool viewdata.kj select table_name,column_name,data_length,data_type from dba_tab_columns where table_name = $VIEWNAME and owner = 'XXXX'; SQLEOF }; -Jeff --- Tony Esposito <[EMAIL PROTECTED]> wrote: > Strike that.......I missed your earlier email.....sorry! > > > Anthony (Tony) Esposito > > Senior Technical Consultant > > Inovis(tm), formerly Harbinger and Extricity > > 2425 N. Central Expressway, Suite 900 > > Richardson, TX 75080 > > (972) 643-3115 > > [EMAIL PROTECTED] > > > > > -----Original Message----- > From: Tony Esposito > Sent: Wednesday, April 02, 2003 2:11 PM > To: 'Jensen Kenneth B SrA AFPC/DPDMPQ'; 'Jeff Westman'; beginners > Subject: RE: Sql statements in perl scripts > > > Any reason why you can not use DBI::Oracle instead of using a system call > and 'here' document to access SQL*Plus? > HTH > > > Anthony (Tony) Esposito > > Senior Technical Consultant > > Inovis(tm), formerly Harbinger and Extricity > > 2425 N. Central Expressway, Suite 900 > > Richardson, TX 75080 > > (972) 643-3115 > > [EMAIL PROTECTED] > > > > > -----Original Message----- > From: Jensen Kenneth B SrA AFPC/DPDMPQ > [mailto:[EMAIL PROTECTED] > Sent: Wednesday, April 02, 2003 2:03 PM > To: 'Jeff Westman'; beginners > Subject: RE: Sql statements in perl scripts > > > When I just quote the variable, this is what the spool looks like. > ~~~~~ > select table_name,column_name,data_length,data_type from dba_tab_columns > where table_name = '""' > and owner = 'XXXXX'; > > no rows selected > ~~~~~ > > perl also throws a warning that MAIN::$VIEWNAME & MAIN::$TABLENAME are only > used once. > > I've tried countless ways, really starting to go bald at an early age from > this. > > -----Original Message----- > From: Jeff Westman [mailto:[EMAIL PROTECTED] > Sent: Wednesday, April 02, 2003 1:56 PM > To: beginners > Subject: Re: Sql statements in perl scripts > > > Hi, > > --- Jensen Kenneth B SrA AFPC/DPDMPQ <[EMAIL PROTECTED]> > wrote: > > I can't install the DBI modules to talk to our database, so I am > > trying to run some commands from a system call. I am trying to pass > > some variables retrieved from command line arguments to the sql > > statements. Here's my problem, I can't get the variables to expand for > > use in the sql code > > > > #!perl -w > > use strict; > > use warnings; > > > > my ($TABLENAME, $VIEWNAME) = (shift,shift); > > > > system('sqlplus / << SQLEOF > > set heading off > > set linesize 120 > > > > spool viewdata.kj > > select table_name,column_name,data_length,data_type from > > dba_tab_columns where table_name = \'$VIEWNAME\' and owner = 'XXXX'; > > > > spool tabdata.kj > > select table_name,column_name,data_length,data_type from > > dba_tab_columns where table_name = \'$TABLENAME\' and owner = > > 'XXXX'; SQLEOF > > '); > > __END__ > > > > The above will execute, but no rows will be selected because the > > variables are treated as null. I tried declaring the variables > > globally but still the same problem. I also tried to pass the > > variables to the system call (system (), ($TABLENAME, $VIEWNAME);) But > > couldn't get that to work either. $_[0] was read as "scriptname[0]".. > > > > I can insert a print statement inside the system call and print the > > variables to STDOUT, but can't get sql to use them. Am I missing > > something blatantly obvious? Any help very much appreciated. > > > From what I can see, yes...... use double-quotes, not single-quotes. > Single > quotes will not expand varables. See 'perldoc -q quote' > > -JW > > > > Ken > > > > P.S. I only have modules distributed with perl 5.6.1, and I am not > > allowed to install any new ones at the present time. > > > __________________________________________________ > Do you Yahoo!? > Yahoo! Tax Center - File online, calculators, forms, and more > http://tax.yahoo.com > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - File online, calculators, forms, and more http://tax.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]