By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
437,924 Members | 1,651 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 437,924 IT Pros & Developers. It's quick & easy.

db2_all : escape * ' ( " in ksh

P: n/a
I am trying to escape the special characters while executing the
following sql, but couldn't figure out a way.

db2_all "db2 connect to mydb; db2 select * from table
(SNAPSHOT_CONTAINER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
'MYTSP'; db2 terminate".

How would I get this successully executed?

Thanks.
Nov 12 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a
Ian
Prince Kumar wrote:
I am trying to escape the special characters while executing the
following sql, but couldn't figure out a way.

db2_all "db2 connect to mydb; db2 select * from table
(SNAPSHOT_CONTAINER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
'MYTSP'; db2 terminate".

How would I get this successully executed?


Use the unix escape character, '\'.

db2_all "db2 connect to mydb; db2 \"select * from ...\"; db2 terminate"


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Nov 12 '05 #2

P: n/a
Thanks Ian,

I already tried that. I got the following error.

db2_all "db2 connect to mydb; db2 \"select * from table
(SNAPSHOT_CONTAINER('', -1 )) as snp where TABLESPACE_NAME = 'TSSAM'
\";db2 terminate"

Database Connection Information

Database server = DB2/6000 8.1.5
SQL authorization ID = XXXXX
Local database alias = MYDB

SQL0104N An unexpected token "," was found following
"(SNAPSHOT_CONTAINER(".
Expected tokens may include: "<space>". SQLSTATE=42601
DB20000I The TERMINATE command completed successfully.
cdidev01: db2 connect to mydb completed ok

I tried to escape the "(" , "'" as well. But it did not help.

Thanks,
Prince.

Ian <ia*****@mobileaudio.com> wrote in message news:<41********@corp.newsgroups.com>...
Prince Kumar wrote:
I am trying to escape the special characters while executing the
following sql, but couldn't figure out a way.

db2_all "db2 connect to mydb; db2 select * from table
(SNAPSHOT_CONTAINER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
'MYTSP'; db2 terminate".

How would I get this successully executed?


Use the unix escape character, '\'.

db2_all "db2 connect to mydb; db2 \"select * from ...\"; db2 terminate"


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----

Nov 12 '05 #3

P: n/a
Ian
Prince Kumar wrote:
Thanks Ian,

I already tried that. I got the following error.

db2_all "db2 connect to mydb; db2 \"select * from table
(SNAPSHOT_CONTAINER('', -1 )) as snp where TABLESPACE_NAME = 'TSSAM'
\";db2 terminate"


This exact syntax works just fine for me. Are you using a weird shell,
or do you have anything strange in your .profile, db2profile or
userprofile?


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----
Nov 12 '05 #4

P: n/a
Hi Ian,

I am using ksh on AIX 5.2. I don't see any weird stuff in the .profile
or db2profile. If I do not have the "(" or any such spl characters it
works fine.

db2_all "db2 select agent_id from table(snapshot_lock(' ',-1) ) as
snap"

ksh: 0403-057 Syntax error at line 1 : `(' is not expected.

ksh: 0403-057 Syntax error at line 1 : `(' is not expected.

ksh: 0403-057 Syntax error at line 1 : `(' is not expected.

ksh: 0403-057 Syntax error at line 1 : `(' is not expected.

$ db2_all "db2 select 'no-conn' from sysibm.sysdummy1"

SQL1024N A database connection does not exist. SQLSTATE=08003
cdidev01: db2 select agent_id ... completed rc=4

SQL1024N A database connection does not exist. SQLSTATE=08003
cdidev01: db2 select agent_id ... completed rc=4

Note: I did not connect to the db. I just wanted to see whether the
syntax works or not

.................................................. ...........................
looks like
Ian <ia*****@mobileaudio.com> wrote in message news:<41**********@corp.newsgroups.com>...
Prince Kumar wrote:
Thanks Ian,

I already tried that. I got the following error.

db2_all "db2 connect to mydb; db2 \"select * from table
(SNAPSHOT_CONTAINER('', -1 )) as snp where TABLESPACE_NAME = 'TSSAM'
\";db2 terminate"


This exact syntax works just fine for me. Are you using a weird shell,
or do you have anything strange in your .profile, db2profile or
userprofile?


-----= Posted via Newsfeeds.Com, Uncensored Usenet News =-----
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
-----== Over 100,000 Newsgroups - 19 Different Servers! =-----

Nov 12 '05 #5

P: n/a
Just an update.

db2_all 'db2 connect to mydb; db2 "select * from
table(snapshot_lockwait(chr(32),-1)) as snap "; db2 terminate'

The above works fine. But when I try to replace the chr(32) (ie the
space) with \' \', (ie quote-space-quote) I get the following error

ksh: 0403-057 Syntax error: `)' is not expected
gs**@yahoo.com (Prince Kumar) wrote in message news:<62**************************@posting.google. com>...
I am trying to escape the special characters while executing the
following sql, but couldn't figure out a way.

db2_all "db2 connect to mydb; db2 select * from table
(SNAPSHOT_CONTAINER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
'MYTSP'; db2 terminate".

How would I get this successully executed?

Thanks.

Nov 12 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.