XML Services on Express 14.0 -- trouble in install

Extensibility
Enthusiast

XML Services on Express 14.0 -- trouble in install

I'm trying to install XML Services on my TD Express instance. Here's the setup:

Windows 7, 64-bit (host)

VMware Player 5.0.1

TD Express for VMware 14.0, 40GB

TD XML Services 13.10 (TeradataXML_LINUX_v13.10.00.01)

The Orange Book says that installudfs.pl will create the SYSXML user. This is not correct; SYSXML must exist before you run the script. Anyhow, I have run installudfs.pl quite a few times, and the log (initDB.out) shows a 0 return code from BTEQ, but the Perl script stops, saying that there was an error. It refuses to go on to the Prepare step.

This is the text in the Command Prompt window:

2012-12-5 15:17:41  bteq  <initDB1.bteq 1>C:/Users/Geoffrey/Documents/VM_Shared/TeradataXML_LINUX_v13.10.00.01/TeradataXML_LINUX_v13.10.00.01/log/initDB.out 2>>C:/Users/Geoffrey/Documents/VM_Shared/TeradataXML_LINUX_v13.10.00.01/TeradataXML_LINUX_v13.10.00.01/log/error.log

parsing logfile1: C:/Users/Geoffrey/Documents/VM_Shared/TeradataXML_LINUX_v13.10.00.01/TeradataXML_LINUX_v13.10.00.01/log/initDB.out

Initial DataBase failed. Please check the log at <C:/Users/Geoffrey/Documents/VM_Shared/TeradataXML_LINUX_v13.10.00.01/TeradataXML_LINUX_v13.10.00.01/log/initDB.out> for details.

That log, as I said, shows all success (it is attached).

Any ideas?? Thanks!

5 REPLIES
Enthusiast

Re: XML Services on Express 14.0 -- trouble in install

Okay, I've made some progress. Apparently the reason the first step was failing was that the very first statement in initDB.bteq didn't allow for versions past V2R6:

SELECT * FROM dbc.dbcinfo WHERE  infokey = 'VERSION'  AND

 (index (infodata,'06.01.00' ) > 0         

    OR index (infodata,'06.01.01' ) > 0

    OR index (infodata,'06.02') > 0

   );

So I changed it to this:

SELECT * FROM dbc.dbcinfo WHERE  infokey = 'VERSION'  AND

 (index (infodata,'06.01.00' ) > 0         

    OR index (infodata,'06.01.01' ) > 0

    OR index (infodata,'06.02') > 0

    OR index (infodata,'14.00') > 0

   );

[Or, possibly better: ... OR substr(infodata, 1,2) >= '12']

A few steps later, I had to copy the code libraries by hand from the Windows host to the TD Express machine (not sure why). Then the script started creating the procedures and functions. All was well, another day saved, until this happened (selected lines from command window):

Install register succeed.

Install register_u succeed.

Install normal XML supported UDFs succeed.

Install publish XML supported UDFs succeed.

Install shred XML supported UDFs succeed.

2012-12-6 15:31:32  install XML Services UDFs without Unicode support finished succeed.

Construction ,Processing Verify succeed.

Publish Verify failed. Please check the log at <C:/Users/Geoffrey/Documents/VM_Shared/TeradataXML_LINUX_v13.10.00.01/TeradataXML_LINUX_v13.10.00.01/log/verify_publish.out> for details.

Error.out now contains this cryptic message:

 S E L   ' F U N C T I O N   R E P L A C E D   S U C C E S S F U L L Y # #   X M L N O R M A L I Z E _ V C _ U ' ;

     $

   * * *   F a i l u r e   3 7 0 6   S y n t a x   e r r o r :   e x p e c t e d   s o m e t h i n g   b e t w e e n   t h e   b e g i n n i n g   o f  

   t h e   r e q u e s t   a n d   ' . ' .

                                 S t a t e m e n t #   2 ,   I n f o   = 3  

 S E L   ' F U N C T I O N   R E P L A C E D   F A I L U R E   # #   X M L N O R M A L I Z E _ V C _ U ' ;

     $

   * * *   F a i l u r e   3 7 0 6   S y n t a x   e r r o r :   e x p e c t e d   s o m e t h i n g   b e t w e e n   t h e   b e g i n n i n g   o f  

   t h e   r e q u e s t   a n d   ' . ' .

                                 S t a t e m e n t #   2 ,   I n f o   = 3  

 S E L   ' F U N C T I O N   R E P L A C E D   S U C C E S S F U L L Y # #   X M L N O R M A L I Z E _ L O B _ U ' ;

     $

   * * *   F a i l u r e   3 7 0 6   S y n t a x   e r r o r :   e x p e c t e d   s o m e t h i n g   b e t w e e n   t h e   b e g i n n i n g   o f  

   t h e   r e q u e s t   a n d   ' . ' .

                                 S t a t e m e n t #   2 ,   I n f o   = 3  

 S E L   ' F U N C T I O N   R E P L A C E D   F A I L U R E   # #   X M L N O R M A L I Z E _ L O B _ U ' ;

     $

   * * *   F a i l u r e   3 7 0 6   S y n t a x   e r r o r :   e x p e c t e d   s o m e t h i n g   b e t w e e n   t h e   b e g i n n i n g   o f  

   t h e   r e q u e s t   a n d   ' . ' .

                                 S t a t e m e n t #   2 ,   I n f o   = 3  

  *** Failure 7504 in UDF/XSP/UDM SYSXML.PUBLISH: SQLSTATE U0035: cli init error!errorcode: 224, errorstring:Logon failed!

                Statement# 1, Info =0

"Logon failed"?? What is going on here?

Since I'm really interested only in shredding, maybe I can just give up at this point and use the shredding functions, but if anyone can diagnose or, better yet, fix the problem, it would be appreciated.

Sorry to complain, but the installation procedure seems awfully touchy.

Enthusiast

Re: XML Services on Express 14.0 -- trouble in install

I'm finding installing the XML Services on the 14.0 Express to be extremely painful...much like you the fact that the 13.10 XML Services doesn't appear to be setup to run against anything past V2R6 seems like a huge oversight.  As it stands right now I am getting 5603 errors after editing the initdb script to work on TD14.

These are the erros I am getting at this point.

REPLACE FUNCTION stub_xerces(

)

RETURNS INTEGER

LANGUAGE CPP

NO SQL

EXTERNAL NAME 'SP!/home/tdatuser/xml/TeradataXML.13.10.00.00/libxerces-c.s

o'

PARAMETER STYLE SQL;

 *** Create function completed with error(s).

 *** Warning: 5603 Errors encountered in compiling UDF/XSP/UDM/UDT/JAR.

 *** Total elapsed time was 1 second.

Errors/Warnings reported during compilation

---------------------------------------------------------------------------

/usr/bin/gcc -D_REENTRANT -D_LIBC_REENTRANT    -I/usr/tdbms/etc   -L/usr/td

bms/lib  -fpic -c Teradata_new_delete.cpp

/usr/bin/gcc -D_REENTRANT -D_LIBC_REENTRANT    -I/usr/tdbms/etc   -L/usr/td

bms/lib   -fpic -c  pre_stub_xerces.c

/usr/bin/gcc -shared -fpic -Xlinker -rpath -Xlinker /usr/tdbms/lib -Wl,--ve

rsion-script=/var/opt/teradata/tdtemp/UDFTemp/0404.16383.5c20a/UserUdf_vers

ions.scr -D_REENTRANT -D_LIBC_REENTRANT    -I/usr/tdbms/etc   -L/usr/tdbms/

lib  -o libudf_0404_1.so  Teradata_new_delete.o pre_stub_xerces.o xmlinstal

lpkg_t.o pre_installpkg.o   /home/tdatuser/xml/TeradataXML.13.10.00.00/libx

erces-c.so  -ludf  -lm -ljil -lstdc++

gcc: /home/tdatuser/xml/TeradataXML.13.10.00.00/libxerces-c.so: No such fil

e or directory

make: *** [libudf_0404_1.so] Error 1

/var/opt/teradata/tdtemp/UDFTemp/0404.16383.5c20a/libudf_0404_1.so: cannot

open shared object file: No such file or directory

So like you, I guess I am going to have to copy these files over manually.  This is much different than what the Orange Book talks about, and if they are releasing these for the different versions at least make sure you fix the version check...

Re: XML Services on Express 14.0 -- trouble in install

Tuen,

Below step will help you with install ( as orange book does not provides the step properly)

After a good struggle for several hrs below are the step I used to sucessfully install Teradata XML

DELETE USER SYSXML;

DROP USER SYSXML;

This will drop and clear all corrupted UDF ( as I struggled to drop them when binaries got corrupted)

  1. Download the packages from Teradata Developer exchange based on your system (Linux,MP-RAS,Windows)
  2. Download Perl packages from (www.activestate.com/activeperl/download) community free edition 
  3. Unzip all the file downloaded from developer exchange on your local driver
  4. Logon to your Teradata Server/Node  and create 2 directories under home/tdatuser (XML and TeradataXML13.00.00.00 make sure to create on each node +HSN) as UDF package dose not create it automatically ( do not run any UDF install from Node)

home/tdatuser # mkdir xml

:/home/tdatuser # chmod 777 xml

:/home/tdatuser # cd xml

:/home/tdatuser/xml # mkdir TeradataXML.13.00.00.00

:/home/tdatuser/xml # chmod 777 TeradataXML.13.00.00.00

:/home/tdatuser/xml # cd TeradataXML.13.00.00.00

5) Once XML and TeradataXML folder created on the nodes go back to your C:/D drive where you have downloaded the package and go to directory lib and copy 4 files (.so) to /home/tdauser/TeradataXML13.00.00.00 directory

(These file does not get copied/created by UDF and it will give you error while compilations of UDF)

:/home/tdatuser/xml/TeradataXML.13.00.00.00

  1. libxalan-c.so
  2. libxalanMsg.so
  3. libxerces-c.so
  4. libxmludfs.so

Change permission on the (4) file to 777 on all the nodes

  1. Once above 5 steps done, go back to your desktop/machine where the packages you have extracted and go to bin directory and run command --> perl  installudfs.pl
  2. Check the log file and report .html file for any errors

HTH

Enthusiast

Re: XML Services on Express 14.0 -- trouble in install

I ran the XML 14.0 install on Teradata Express 14.0  Using the above workarounds the install went to completion.  With one exception, that is.  The ./lib directory did not contain the four .so files so I used the ones in the ./lib/td12 directory.  Any thought as to correctness or where to get the files?

Enthusiast

Re: XML Services on Express 14.0 -- trouble in install

I used ip addresses instead of hostnames and got around the .so library issue.