Using xml to run db2 commands


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Using xml to run db2 commands
# 1  
Old 06-14-2013
Using xml to run db2 commands

Hi,

Strange problem I'm having here and not sure what to do.

I have here a xml that is supposed to execute the next value in the schema but it isn't do the job it's supposed to do. I'm not a dba or a developer so I'm sorry in advance if there are some things i don't understand.
when we run the command manually in db2 it works.

Here is the code for anyone who can help:

Code:
<SOAP-ENV:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope">
<SOAP-ENV:Body>
<SQLPassthroughExecute userDomain="<DOMAIN>" userID="<UID>" workstationID="<WORKGROUP">
<SQLConnection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ID> <DBID> </ID> 
  <Name> <NAME> </Name> 
  <DriverClass>com.ibm.db2.jcc.DB2Driver</DriverClass> 
  <ConnectionURL>V7i6tNnSwrET9apffKem0fev2DgS5IaQHf2sjrmhkEFf9xaOUPiJ92gO3Rfw2F247ZToTwILWEKZPlmDSTp2t9V9dlBoGStOJxXiWVFXiezq6Ar7hauFWbx9JkbZFnlU</ConnectionURL> 
  <Password> <USERPASSWORD> </Password> 
  <Username><uid></Username> 
  </SQLConnection>
  <Statements>insert into <SCHEMA.VALUE> (ID1, ID2, ID3, ID3, ID4, ID5, ID6, ID7, ID8, ID9) VALUES (NEXT VALUE FOR <SCHEMA>.STRESS, 1349, 11, 141, 0.1, 1089, '', '<USERNAME>', CURRENT_TIMESTAMP, 0)</Statements> 
  <StatementDelimiter>|</StatementDelimiter> 
  <Transaction>true</Transaction> 
  <ContinueOnError>false</ContinueOnError> 
  </SQLPassthroughExecute>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

# 2  
Old 06-14-2013
XML is just (structured) data. It doesn't run anything.

What application are you using to process this XML file?
# 3  
Old 06-14-2013
Quote:
Originally Posted by Don Cragun
XML is just (structured) data. It doesn't run anything.

What application are you using to process this XML file?
A new vendor had given us a java application to stress test our server and from what they explained these xml's are supposed to insert into the tables. We modified one line to use the next available line.

not sure if that helps.
# 4  
Old 06-14-2013
Quote:
Originally Posted by techy1
A new vendor had given us a java application to stress test our server and from what they explained these xml's are supposed to insert into the tables. We modified one line to use the next available line.

not sure if that helps.
Not at all. All that you have told us is that you have an XML file that you modified such that it no longer works correctly (if it ever did) when it is processed by code written in Java that you obtained from a 3rd party.

I could make a wild guess that the text marked in red below (and the spaces surrounding them) needs to be replaced by data appropriate to your environment, but with what have provided, all we can do is make wild guesses:
Code:
<SOAP-ENV:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope">
<SOAP-ENV:Body>
<SQLPassthroughExecute userDomain="<DOMAIN>" userID="<UID>" workstationID="<WORKGROUP">
<SQLConnection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ID> <DBID> </ID> 
  <Name> <NAME> </Name> 
  <DriverClass>com.ibm.db2.jcc.DB2Driver</DriverClass> 
  <ConnectionURL>V7i6tNnSwrET9apffKem0fev2DgS5IaQHf2sjrmhkEFf9xaOUPiJ92gO3Rfw2F247ZToTwILWEKZPlmDSTp2t9V9dlBoGStOJxXiWVFXiezq6Ar7hauFWbx9JkbZFnlU</ConnectionURL> 
  <Password> <USERPASSWORD> </Password> 
  <Username><uid></Username> 
  </SQLConnection>
  <Statements>insert into <SCHEMA.VALUE> (ID1, ID2, ID3, ID3, ID4, ID5, ID6, ID7, ID8, ID9) VALUES (NEXT VALUE FOR <SCHEMA>.STRESS, 1349, 11, 141, 0.1, 1089, '', '<USERNAME>', CURRENT_TIMESTAMP, 0)</Statements> 
  <StatementDelimiter>|</StatementDelimiter> 
  <Transaction>true</Transaction> 
  <ContinueOnError>false</ContinueOnError> 
  </SQLPassthroughExecute>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Maybe someone who knows what SOAP means in this context will be able to help you.
# 5  
Old 06-14-2013
Quote:
Originally Posted by Don Cragun
Not at all. All that you have told us is that you have an XML file that you modified such that it no longer works correctly (if it ever did) when it is processed by code written in Java that you obtained from a 3rd party.

I could make a wild guess that the text marked in red below (and the spaces surrounding them) needs to be replaced by data appropriate to your environment, but with what have provided, all we can do is make wild guesses:
Code:
<SOAP-ENV:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope">
<SOAP-ENV:Body>
<SQLPassthroughExecute userDomain="<DOMAIN>" userID="<UID>" workstationID="<WORKGROUP">
<SQLConnection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ID> <DBID> </ID> 
  <Name> <NAME> </Name> 
  <DriverClass>com.ibm.db2.jcc.DB2Driver</DriverClass> 
  <ConnectionURL>V7i6tNnSwrET9apffKem0fev2DgS5IaQHf2sjrmhkEFf9xaOUPiJ92gO3Rfw2F247ZToTwILWEKZPlmDSTp2t9V9dlBoGStOJxXiWVFXiezq6Ar7hauFWbx9JkbZFnlU</ConnectionURL> 
  <Password> <USERPASSWORD> </Password> 
  <Username><uid></Username> 
  </SQLConnection>
  <Statements>insert into <SCHEMA.VALUE> (ID1, ID2, ID3, ID3, ID4, ID5, ID6, ID7, ID8, ID9) VALUES (NEXT VALUE FOR <SCHEMA>.STRESS, 1349, 11, 141, 0.1, 1089, '', '<USERNAME>', CURRENT_TIMESTAMP, 0)</Statements> 
  <StatementDelimiter>|</StatementDelimiter> 
  <Transaction>true</Transaction> 
  <ContinueOnError>false</ContinueOnError> 
  </SQLPassthroughExecute>
  </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>

Maybe someone who knows what SOAP means in this context will be able to help you.

thank you. those fields in red have been filled out, I just removed them for confidential reasons.

Sorry I'm not entirely sure how to put it in better words. I've actually never done anything like this before, I'm a sys admin but Trying to help out the team working on this.
# 6  
Old 06-14-2013
Looks like std IBM SOAP: DB2 Database for Linux, UNIX, and Windows

It is unfortunate you used <vvv> form for removed values, since it resembles XML. It is good for man pages, which are older! Smilie

Typo'd, too. I put in obvious replacement my_* in lower case. The XML seems balanced and all that. I indented it for depth of wrapper elements:
Code:
<SOAP-ENV:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope">
<SOAP-ENV:Body>
  <SQLPassthroughExecute userDomain="my_domain" userID="my_uid" workstationID="my_workgroup">
    <SQLConnection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ID>my_dbid</ID> 
      <Name>my_name</Name> 
      <DriverClass>com.ibm.db2.jcc.DB2Driver</DriverClass> 
      <ConnectionURL>V7i6tNnSwrET9apffKem0fev2DgS5IaQHf2sjrmhkEFf9xaOUPiJ92gO3Rfw2F247ZToTwILWEKZPlmDSTp2t9V9dlBoGStOJxXiWVFXiezq6Ar7hauFWbx9JkbZFnlU</ConnectionURL> 
      <Password>my_passwd</Password> 
      <Username>my_username</Username> 
     </SQLConnection>
    <Statements>insert into my_schema.my_table (ID1, ID2, ID3, ID3, ID4, ID5, ID6, ID7, ID8, ID9) VALUES (NEXT VALUE FOR my_schema.STRESS, 1349, 11, 141, 0.1, 1089, '', 'my_username', CURRENT_TIMESTAMP, 0)</Statements> 
    <StatementDelimiter>|</StatementDelimiter> 
    <Transaction>true</Transaction> 
    <ContinueOnError>false</ContinueOnError> 
   </SQLPassthroughExecute>
 </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

PS: Single inserts are atomic, so a transaction is a waste. Does the insert work on the command line 'db2' with these credentials?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problem running db2 commands in awk

Hi , I am trying to use the below in awk but failed, any one assist please, awk '{ print $0; if ( $0 ~ /LOADTMP1/ ) { print $4; Table_name=system($( db2 -x "SELECT TRIM(TD.BSCHEMA) || '.' || TRIM(TD.BNAME) AS TABLE_NAME FROM SYSCAT.TABDEP TD WHERE TD.BTYPE='T' AND... (2 Replies)
Discussion started by: Nandy
2 Replies

2. UNIX for Dummies Questions & Answers

Run multiple commands

Hi All, Is it possible to run second/multiple commands at a time in script before the completion/return of first command? Pls reply. (5 Replies)
Discussion started by: cns1710
5 Replies

3. Shell Programming and Scripting

Assigning value of a select count(*) from tablename ( run on db2 ) to a unix variable

Hi All, I have browsed through the forums for a similar topic, but there is no topic which explains about this problem, when the backend is DB2. I want to assign the output of a select count(*) from tablename to a unix variable in a shell script. I am using ksh. The database used to... (3 Replies)
Discussion started by: Siddarth
3 Replies

4. Shell Programming and Scripting

Run DB2 export command in loop

Hi All, I have list of 100 table names in a file, how to read table name from and pass to DB2 export command and run for all tables in loop. Please help me with script. db2 EXPORT TO ~/data_export/<table name from file>.ixf OF IXF MESSAGES messages.txt "SELECT * FROM ITG.<Table Name... (4 Replies)
Discussion started by: srimitta
4 Replies

5. Shell Programming and Scripting

Run a shell script from one host which connext to remote host and run the commands

I want to write a script which would run from one host say A and connect to other remote host B and then run rest of commands in that host. I tried connecting from A host to B with SSH but after connecting to host B it just getting me inside Host B command prompt. Rest of the script is not running... (6 Replies)
Discussion started by: SN2009
6 Replies

6. Shell Programming and Scripting

Run several commands at a time

Hello guys, I am new at shell scripting and I want to create a script that runs several commands at a time, ie: uptime, w, df -h and so on and send the output of this commands to a text file so it can be send via email at a certain time using crontab. Any help will be much appreciated! (4 Replies)
Discussion started by: agasamapetilon
4 Replies

7. UNIX for Dummies Questions & Answers

Cannot run commands

It would be helpful if someone could help me out here. The problem I have been having is that I cannot run some commands which are valid - whenever I try to run the command I get the message "command not found". Now, if I run the same command as root it executes. These commands do not have to be... (5 Replies)
Discussion started by: BigTool4u2
5 Replies

8. Shell Programming and Scripting

Run SQL queries in DB2 and output to file

Hi, I new to Unix and scripting. Following is my requirement. Can someone tell me whether its possible or not. Also please let me know how to proceed further if this is possible. List of queries are stored in a file. For example, I have to run a query like this: Select * from &XYZ where... (0 Replies)
Discussion started by: simhasuri
0 Replies

9. UNIX for Dummies Questions & Answers

XML Translator to run in UNIX

Hello, newbie (non-techie) here. I'm a business analyst for a software company in the Bay Area. A project I just got assigned to involved researching for an enterprise version of a XML translator that will run on UNIX. I'm looking for something that won't be too costly to purchase as the... (4 Replies)
Discussion started by: Antsy
4 Replies

10. IP Networking

Run commands on a UNIX with NT

Hi I'm trying to automatically run a command on a UNIX (AIX) machine from a Windows NT 4 machine. I can do this manually using the 'rexec' or 'rsh' command but I need an automatic login (on the AIX). In the manual I've found that there should be a '.rhosts' file on the Unix machine in the... (1 Reply)
Discussion started by: Mark Detrez
1 Replies
Login or Register to Ask a Question