UDML is a text based non-public API that may be used to manipulate RPD
This may be used for faster manipulation to metadata objects and create a new instance of RPD especially for creating instances of rpd during migration processes
There are two ways of using UDML
1. Command line utilities
2. Text editor
Using Command Line Utilities
There are two command line utilities that are available to use which are available as a part of installed OBI server component. These are located in Root:\OracleBI\server\Bin directory
1.nQUDMLGen.exe
This is used to generate UDML from an RPD
The following is a example of passing parameters to use this utility
D:\OracleBI\server\Bin>nQUDMLGen.exe -h
nQUDMLGen -U userid [-P [password]] -R repository_pathname -O output_script_pathname[-8] [-N] [-Q] [-S]
-h Display this usage information and exit.
-8 is for UTF-8
-N is for not generating upgrade id
-Q is for generating script without security objects
-S is for generating script for only security objects
Q and S override each other if both are present
2. nQUDMLExec.exe
This is used to execute UDML
The following is a example of passing parameters to use this utility
D:\OracleBI\server\Bin>nQUDMLExec.exe -h
nQUDMLExec [-U [userid]] [-P [password]] -I input_script_pathname[-B base_repository_pathname] -O output_repository_pathname [-8]
-8 is for UTF-8
Eg 1: nQUDMLExec -I sampletestudml.txt -O rp1.rpd create a new repository rp1
Eg 2: nQUDMLExec -U administrator -I sampletestudml.txt -B rp1.rpd -O rp2.rpd
modify rp1 and write to rp2
-h Display this usage information and exit
Copying UDML to a Text Editor
1. Right click on a selected RPD object, Copy and Paste to a notepad
2. Make the required changes and save as .udml in Root:\OracleBI\server\Scripts directory
Let's see a simple UDML to change connection pool settings
The UDML file named test.udml has the following content # TEST.udml - Hashed PASSWORD derived by manually entering the # appropriate PASSWORD through Admin Tool and extracting UDML code DECLARE CONNECTION POOL "Oracle Database"."Connection Pool" AS "Connection Pool" UPGRADE ID 2150315609 DATA SOURCE {TEST_DSN} TIME OUT 300 MAX CONNECTIONS 10 TYPE 'Default' USER 'TEST_USER' PASSWORD 'D7EDED84BC624A917F5B462A4DCA05CDCE256EEEEEDC97D5D1CC182AFED63DC0C01716548C936275' SHARED LOGIN CONNECTIONS TO SAME URI 10 OUTPUT TYPE XML HEADER PATH {d:\\OracleBI\\server\\config\\NQSQueryHeader.xml} TRAILER PATH {d:\\OracleBI\\server\\config\\NQSQueryTrailer.xml} BULK INSERT BUFFER SIZE 32768 TRANSACTION BOUNDARY 10 TEMP TABLE PREFIX {TT} OWNER {} PRIVILEGES ( READ);
The following may be used to execute the UDML that updates Connection Pool from DEV.rpd and create TEST.rpd
nQUDMLExec.exe -U Administrator -P SADMIN -I D:\OracleBI\server\scripts\TEST.udml-B D:\OracleBI\server\Repository\DEV.rpd -O D:\OracleBI\server\Repository\TEST.rpd
OracleBIBlog Search
Tuesday, July 7, 2009
UDML Techniques for OBI
Posted by
Ramana Chittoor
at
Tuesday, July 07, 2009
Subscribe to:
Post Comments (Atom)
2 comments:
I attempted to do the creation of a .rpd from an existing model extraction .udml and got a 'unable to access rpd' error after executing nqUDMLexec. Am i doing something wrong?
Sorry for delayed response as I was not well. It looks like you did not pass the right parameters which are required for NQUDML. May be the rpd is not in the correct path. Please make sure that the rpd is in correct directory. Eg: C:\OracleBI\server\Repository
Post a Comment