db2_all : escape * ' ( " in ksh

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Prince Kumar

    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_CONTA INER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
    'MYTSP'; db2 terminate".

    How would I get this successully executed?

    Thanks.
  • Ian

    #2
    Re: db2_all : escape * ' ( " in ksh

    Prince Kumar wrote:
    [color=blue]
    > 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_CONTA INER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
    > 'MYTSP'; db2 terminate".
    >
    > How would I get this successully executed?[/color]

    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! =-----

    Comment

    • Prince Kumar

      #3
      Re: db2_all : escape * ' ( " in ksh

      Thanks Ian,

      I already tried that. I got the following error.

      db2_all "db2 connect to mydb; db2 \"select * from table
      (SNAPSHOT_CONTA INER('', -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_CONT AINER(".
      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 <ianbjor@mobile audio.com> wrote in message news:<412aaa35_ 1@corp.newsgrou ps.com>...[color=blue]
      > Prince Kumar wrote:
      >[color=green]
      > > 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_CONTA INER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
      > > 'MYTSP'; db2 terminate".
      > >
      > > How would I get this successully executed?[/color]
      >
      > 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! =-----[/color]

      Comment

      • Ian

        #4
        Re: db2_all : escape * ' ( &quot; in ksh

        Prince Kumar wrote:
        [color=blue]
        > Thanks Ian,
        >
        > I already tried that. I got the following error.
        >
        > db2_all "db2 connect to mydb; db2 \"select * from table
        > (SNAPSHOT_CONTA INER('', -1 )) as snp where TABLESPACE_NAME = 'TSSAM'
        > \";db2 terminate"[/color]

        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! =-----

        Comment

        • Prince Kumar

          #5
          Re: db2_all : escape * ' ( &quot; in ksh

          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.sysdummy 1"

          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 <ianbjor@mobile audio.com> wrote in message news:<412e3e64$ 1_1@corp.newsgr oups.com>...[color=blue]
          > Prince Kumar wrote:
          >[color=green]
          > > Thanks Ian,
          > >
          > > I already tried that. I got the following error.
          > >
          > > db2_all "db2 connect to mydb; db2 \"select * from table
          > > (SNAPSHOT_CONTA INER('', -1 )) as snp where TABLESPACE_NAME = 'TSSAM'
          > > \";db2 terminate"[/color]
          >
          > 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! =-----[/color]

          Comment

          • Prince Kumar

            #6
            Re: db2_all : escape * ' ( &quot; in ksh

            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


            gspk@yahoo.com (Prince Kumar) wrote in message news:<629275ba. 0408231208.71a0 65c0@posting.go ogle.com>...[color=blue]
            > 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_CONTA INER ( '' , -1 ) ) as snp where TABLESPACE_NAME =
            > 'MYTSP'; db2 terminate".
            >
            > How would I get this successully executed?
            >
            > Thanks.[/color]

            Comment

            Working...