467,198 Members | 1,082 Online
Bytes | Developer Community
Ask Question

Home New Posts Topics Members FAQ

Post your question to a community of 467,198 developers. It's quick & easy.

db2_all : escape * ' ( " in ksh

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
  • viewed: 13172
Share:
5 Replies
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
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
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
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
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.

Similar topics

1 post views Thread by db2sysc | last post: by
reply views Thread by Will Griffiths | last post: by
6 posts views Thread by Fan Ruo Xin | last post: by
3 posts views Thread by chettiar | last post: by
131 posts views Thread by Lawrence D'Oliveiro | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.