Using sql in ODI 11 G OLAP queries
Good day, everyone!
I have a problem. I did interface in ODI (tecnology - TERADATA) and used the OLAP inside functions. For example
COALESCE (((tc.data - min (tc. DATA) OVER (PARTITION BY tc.session_id | (("ORDER BY years.year_id LINES BETWEEN 1 EARLIER AND EARLIER 1)) / 12), tc.data) |
But ODI generates the SQL query using Group: so I got the error message
SQLState: HY000
ErrorCode: 3504
Query 1 1, lines read: 132, elapsed time (in seconds) - Total: 1 844, SQL query: 1 844, exit building: 0
Error: [database Teradata] [TeraJDBC 13.10.00.01] Selected [error 3504] [SQLState HY000] nonaggregate values must be part of the associated group.
SQLState: HY000
ErrorCode: 3504
Why it does not include OLAP (ON PARTITION BY) functions? Is it possible to implement the ODI to understand
Hi CPR1,.
You can use a little work using the
(((tc.data-min(tc.DATA) OVER (PARTITION BY tc.session_id ORDER BY years.year_id ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING ))/12),tc.data)
In the first pass, the parser will not see as an aggregate function, so it won't add the group by clause.
Source: http://sonra.io/odi-and-analytic-functions-again/
Kind regards
JeromeFr
Tags: Business Intelligence
Similar Questions
-
How to find the primary key columns in the tables in MS Access using SQL queries
How to find the primary key columns in the tables in MS Access using SQL queries
Hello
This is the forum for Windows Vista programs related issues.
For better assistance, please try instead the Forums in SQL Server .
Thank you! Vincenzo Di Russo - Microsoft MVP Windows Internet Explorer, Windows Desktop Experience & security - since 2003. ~ ~ ~ My MVP profile: https://mvp.support.microsoft.com/profile/Vincenzo
-
MySQL->; table using SQL Developer Oracle
Greetings,
Currently, I am a (student) temporary employee who is responsible for the migration of the MySQL database of a company to their new (gr 11, 2) Oracle database.
So far, I use SQL Developer, because I learned a few minor techniques with this application.
I have tried different methods for the migration, including those of the Oracle (Migration of MySQL) page
I however got no positive results with most of the methods.
-J' have established a connection to the MySQL database Oracle database aswell, within SQL Developer
Now, so far, I've copied manually (right click on the table, copy to Oracle) 90% of the tables from the MySQL to Oracle database successfully.
However, these tables contain only about 5% of the data. The problem is in the 2 tables that actually have a decent amount of records.
FOR INFO:
File 1: 75MB file .csv, ~150.000 records (individual records contain all select queries, where the size)
File 02:50 MB of files .csv, ~2.200.000 records
My previous attempts to use the same copy for Oracle option to right click on one of the two largest tables resulted in the following error:
The table of queries down. Message: java.io.IOException: IO error: socket read timed out
My first action to prevent this error has been to add a second file data to the current storage space, giving it 200M maxsize.
Okay it's coming, my real questions!
This could be a possible solution to avoid the error mentioned earlier to return?
What other issues are possible in case of failure?
Uses an external table to a faster and more effective method?
(The reason for which I have not yet tried external tables is because I had no SYS (TEM) privileges, so anything that requires privileges, I first have to discuss with my superior).
Any help is appreciated! Although my next answer is maybe not earlier that come Monday 17.
Welcome, Brent
Hello
I just discovered there is a csv Import Wizard in sqldeveloper also - don't know if you tried?
tables in the destination database (oracle) - right-click and choose Import data - this will bring you in a Wizard of csv.
However, I think that due to the volumes of data it may have similar problems.
sqlldr is probably your best choice - it's pretty simple once you find a decent example - it seems to cover the basics of ok - Oracle SQL Stuff (for example): SQL-Loader: the tutorial step by step - example 1 (CSV file)
See you soon,.
Rich
-
Hello
I try to use postgresssql in ODI
but when I try to test the connection its shows error:
Failed connection
Detail:
java.lang.RuntimeException: java.lang.IllegalArgumentException: could not load driver JDBC [org.postgresql.Driver] class
at oracle.odi.core.datasource.provider.AbstractDataSourceProvider.configure(AbstractDataSourceProvider.java:106)
to oracle.odi.core.DataSourceManager$ LoginTimeoutDataSourceProviderProxy.configure (DataSourceManager.java:302)
at oracle.odi.core.DataSourceManager.createAndConfigureDataSourceProvider(DataSourceManager.java:228)
to oracle.odi.core.DataSourceManager.access$ 0 (DataSourceManager.java:202)
to oracle.odi.core.DataSourceManager$ 1.create(DataSourceManager.java:76)
at org.springframework.util.CachingMapDecorator.get(CachingMapDecorator.java:152)
I know I want to download and put the jar base SQL file I download it, but where I want to keep this jar fileWhat is your operating system? If it is xp go down this path
C:\Documents and Settings\
\Application Data\odi\oracledi\userlib Chantal
http://dwteam.in -
Is it possible to use SQL queries to search for names of entries which are contained in an URL parameter?
The situation is the following:
In the #1 database, I have several entries (A, B, C, D, etc.). I want to know if I can use WHERE and LIKE clause to filter the entries that appear in a URL parameter.
The normal code: WHERE nom_entree AS % whateverTheURLparameterIs % displays only entries that have the URL containsparameter. I need the code to display the entries contained in the URL parameter.
P.S. does not have the code WHERE the whateverTheURLparameterIs AS argument entryName % .
Consider using the full text for this research. You could probably achieve what you want to use the like with a predicate subquery, but a full text search will be faster. You can also control the respect of the case.
> PS another problem that I am having with what corresponds to the URL
> settings, because they include all of the
> article ("Hi. My name is... (''), tend to be very long.
No need to include the item in the query string. The article is stored in the table. Just pass the id of the item in the query string.
-
Hello
I have problems using SQL Loader with ODI. I am filling an oracle table with data from a txt file. Initially, I had used 'File to SQL' LKM, but due to the size of the file (700 MB) source, I decided to use 'file to Oracle (SQLLDR)' LKM.
The error that appears in myFile.txt.log is: "SQL * Loader-101: invalid argument for the name of user and password.
I think the problem might be in the definition of the database server (physical JavaBeans in topology), because I left empty Host, user and password.
What is the problem? What host and user should I use? With "File to SQL" works fine living that white, but takes too much time.
Thanks in advanceNote the last * @*. He expects a connection string after him.
So, goto Oracle server topology, specify Instance/Dblink (server) as the SID of the oracle database you want to connect.
-
Variable using the Dymanin ODI file name creation
Hi all
I am creating a flat file dynamically using variables of ODI. I'm following a document in metalink (using dynamically specified A file name or directory name with ODI [423635.1 ID]). However, I get the following error whenever I try to run the interface:
java.lang.NullPointerException
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders (SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt (SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSqlI.treatTaskTrt (SnpSessTaskSqlI.java)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask (SnpSessTaskSql.java)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep (SnpSessStep.java)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession (SnpSession.java)
at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand (DwgCommandSession.java)
at com.sunopsis.dwg.cmd.DwgCommandBase.execute (DwgCommandBase.java)
at com.sunopsis.dwg.cmd.e.i (e.java)
at com.sunopsis.dwg.cmd.h.y (h.java)
at com.sunopsis.dwg.cmd.e.run (e.java)
at java.lang.Thread.run (unknown Source)
IKM: IKM SQL to the file append
I'm sure that it is impossible to locate the file. Can be the value of the variable is not passed, not sure. But, if I mention a name like abc.txt, it works. It creates a new file with abc.txt. However, when I try to use a variable, it throws null pointer exception.
Thank you
KKHello
Please declare the variable that you would use in the script that is executed, ODI needs its variables are declared explicitly.
I hope this helps.
Thank you.
-
The temporary and tables using SQL tuning tools
The application that I support uses temporary tables for the majority of queries... Looking at the SQL tuning advisor and more of other oracle tuning tools, they seem well managing temporary tables.
It's what Happens (from what I can tell).
(1) oracle identifies a SQL statement (or the ADMINISTRATOR only), to be tuned.
(2) the original execution statistics are saved for comparison
(3) oracle tries to find a new plan (but at this point, the temporary table is empty).
(4) it tries to execute the new plan (once again the temporary table is empty).
(5) it comparies the execution time of the new plan against the original plan
The comparison, of course, is not a reasonable comparison.
Does anyone have experience with this problem? My first thought is for 'premium' of the temporary table, then run the Advisor of tuning in the same session (hoping that it will use the values in the temporary table).
Other than that, rereading of the database seems to be the best way to adjust sql plan changes using baselines.Expected.
-
Hello
This is my first time on this forum so bear with my ignorance! I'll expose the background of my setup and then explain the error.
We have a small business with a server running SBS2011 and PC running Windows 8 and 8.1 connected to the server in a domain environment.
We use a CRM product called Emu Tall that uses SQL Server 2008 R2 on the server for the database and the PC run a local application that connects to this database.
On a daily basis, but completely randomly and sometimes several times a day, a user will try and open the application on a PC and get the following error message.
Could not load file or assembly 'Microsoft.SqlServer.SqlEnum, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' or one of its dependencies. The system cannot find the specified file.
At first, I thought it must be a matter of waiting time as it seemed to happen every morning, but I've proved since that it occurs at any time of the day and is apparently unrelated to amount of users or idle time or something like that.
Here's another oddity that hopefully sheds some light on it. If I go to the server and open the CRM application on the server, it works very well since it is only the PC that have the connection problem. In addition, as soon as I connected to the server of any PC can connect immediately (until it happens again later in the day). I don't need to stay connected to the server, connect one time and close the session and he "fixed" it for a few hours for all PC users.
I contacted the CRM vendor, and they are completely confused and have no idea what to do.
We are trolling along at the moment with me opening a session on the server for launch launch whenever a user receives the error message but it is far from satisfactory.
A final observation is that it does not always. It used to work fine. The problem began just two months ago and seems to coincide with the increase in our user from 5 to 12 users license even if the CRM provider swear that it is nothing to do with the license. They may agree; I don't know enough to argue the point.
Any help will be appreciated! I'm sure it will be a simple solution and someone there will know why and the answer immediately but is elusive at this time.
This issue is beyond the scope of this site and must be placed on Technet or MSDN
-
Copy of database SQL from SQL 2005 using SQL Server Management Studio 2008
I made a backup of the database and tried to do a cover but I don't know where is the database restored too.
I connected the old PC to SQL with the new using SQL 2008 Management Studio.
Hello
Your question is beyond the scope of this community.
Please repost your question in the SQL Server TechNet Forums.
https://social.technet.Microsoft.com/forums/SQLServer/en-us/home?category=SQLServer
"The MSDN SQL Server Forums.
https://social.msdn.Microsoft.com/forums/SQLServer/en-us/home?category=SQLServer
TechNet forums:
https://social.technet.Microsoft.com/forums/en-us/home
MSDN forums:
https://social.msdn.Microsoft.com/forums/en-us/home
See you soon.
-
Hello
Error occurs when you use SQL Server 2012 assessment vs window detail of the object in window 7. I use the window of the object but the detail of the objects window arrives and immediately SQL Server stops with the error below and then opens again. I didn't find any help with this specific error is but suspect there is a problem between SLQ Server 2012 et.NET Framework 4. Unfortunately, I do not know what it takes in this regard.
Thanks, Deb
Event ID: 1000
Task category: (100)
Level: error
Keywords: Classic
User: n/a
Computer: Deb - HP
Description:
Name of the failing application: Ssms.exe, version: 2011.110.3000.0, time stamp: 0x5081c1cd
Name of the failed module: KERNELBASE.dll, version: 6.1.7601.18015, time stamp: 0x50b83c8a
Exception code: 0xe0434352
Offset: 0x0000c41f
ID of the process failed: 0x13a8
Start time of application vulnerabilities: 0x01ce609a6d3db991
The failing application path: C:\tempSQLWOW\110\Tools\Binn\ManagementStudio\Ssms.exe
Path of the failing module: C:\Windows\syswow64\KERNELBASE.dll
Report ID: 1fb1cbfb-cc8e-11e2-b436-abd2bebb3f17Hi Claude,.
The question you posted would be better suited in the TechNet Forums. I would recommend posting your query in the link below.
http://social.technet.Microsoft.com/forums/en-us/category/SQLServer
Good day!
Answer please if you face concerns.
-
XML data in the table using sql/plsql
Hi experts,
Could you please help with the following requirement. I have the tags xml (.xml on a server file) below. I need to access this file and read the XML and insert into the db table using sql and plsql. Is it possible with the cdata below? And there is a nested this table.
Could someone please guide me if you have a sample code file and xml.
<? XML version = "1.0" encoding = "UTF-8"? >
< generation_date > <! [CDATA [17/11/2015]] > < / generation_date >
< generated_by > <! [CDATA [Admin Admin]] > < / generated_by >
< year > <! [CDATA [2015]] > < / year >
< month > <! [CDATA [01]] > < / month >
< author >
< author > <! [CDATA [user author]] > < / author > < author_initial > <! [CDATA [user]] > < / author_firstname > < author_country > <! [CDATA [author]] > < / author_lastname >
< author_email > <! [CDATA [[email protected]]] > < / author_email >
< author_data_01 > <! [CDATA []] > < / author_data_01 >
< author_data_02 > <! [CDATA []] > < / author_data_02 >
< items >
< article_item >
< article_id > <! [CDATA [123456]] > < / article_id >
< publication > <! [CDATA [Al Bayan]] > < / publication >
< section > <! [CDATA [Local]] > < / section >
< issue_date > <! [CDATA [11/11/2015]] > < / issue_date >
< page > <! [CDATA [2]] > < / print this page >
< article_title > <! [CDATA [title.]] > < / article_title > < number_of_words > <! [CDATA [165]] > < / number_of_words >
< original_price > <! [CDATA [200]] > < / original_price >
< original_price_currency > <! [CDATA [DEA]] > < / original_price_currency >
< price > <! [CDATA [250]] > < / price >
< price_currency > <! [CDATA [DEA]] > < / price_currency >
< / article_item >
< / articles >
< total_amount > <! [CDATA [250]] > < / total_amount >
< total_amount_currency > <! [CDATA [DEA]] > < / total_amount_currency >
< / author >
< / xml >
Thanks in advance,
Suman
XMLTABLE using...
SQL > ed
A written file afiedt.buf1 with t (xml) as (select xmltype ('))
2 ") of the double)"
3
4
5
6
7
8
9
10
11
[[12[email protected]]] >
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34-
35 end of sample data
36-
37 - assumptions:
(38 - a) XML may have several tags
(39 - b) eachmay contain more
40-
41 select x.gen_by, x.gen_date, x.mn, x.yr
42, y.author, y.auth_fn, y.auth_ln, y.auth_cnt, y.auth_em, y.auth_d1, y.auth_d2
43, z.id, z.pub, z.sec, z.iss_dt, z.pg, z.art_ttl, z.num_wrds, z.oprice, z.ocurr, z.price, z.curr
44 t
45, xmltable ('/ authxml')
from $ 46 t.xml
path of 47 columns gen_date varchar2 (10) '. / generation_date'
48, path of varchar2 (15) of gen_by '. / generated_by'
49, path of varchar2 (4) year '. "/ year"
50 varchar2 (2) mn road '. "/ month"
51, path of xmltype authors '.'
52 ) x
53, xmltable ('/ authxml/authors ')
from $ 54 x.authors
author of 55 path of varchar2 columns (15) '. / author'
56, path of varchar2 (10) of auth_fn '. / author_firstname'
57, path of varchar2 (10) of auth_ln '. / author_lastname'
58 road of VARCHAR2 (3) auth_cnt '. / author_country'
59 road of varchar2 (20) of auth_em '. / author_email'
60 road of varchar2 (5) of auth_d1 '. / author_data_01'
61, path of varchar2 (5) of auth_d2 '. / author_data_02'
62, path of xmltype articles '. / Articles'
63 ) y
64, xmltable ('/ Articles/article_item ')
from $ 65 y.articles
path id 66 number columns '. / article_id'
67, path of varchar2 (10) pub '. ' / publication.
68 road of varchar2 (10) dry '. / section'
69, path of varchar2 (10) of iss_dt '. / issue_date'
70 road of VARCHAR2 (3) pg '. "/ print this page"
71, path of varchar2 (20) of art_ttl '. / article_title'
72, path of varchar2 (5) of num_wrds '. / number_of_words'
73, path of varchar2 (5) of oprice '. / original_price'
74 road to VARCHAR2 (3) ocurr '. / original_price_currency'
75, path of varchar2 (5) price '. "/ price"
76, path of VARCHAR2 (3) curr '. / price_currency'
77* ) z
SQL > /.GEN_DATE GEN_BY YEAR MN AUTHOR AUTH_FN AUTH_LN AUT AUTH_EM AUTH_ AUTH_ ID PUB DRY ISS_DT PG ART_TTL NUM_W OPRIC HEARTS PRICE OCU
---------- --------------- ---- -- --------------- ---------- ---------- --- -------------------- ----- ----- ---------- ---------- ---------- ---------- --- -------------------- ----- ----- --- ----- ---
17/11/2015 Admin Admin 2015 01 user author user author [email protected] 123456 UAE Al Bayan Local 11/11/2015 2 is the title. 165 200 AED AED 250Of course, you'll want to change the types of data, etc. as needed.
I assumed that the XML can contain several "
" sections and that each section can contain several entries. Thus the XMLTABLE aliasing as 'x' gives information of XML, and supplies the data associated with the XMLTABLE with alias 'y' which gets the multiple authors, which itself
section of the XMLTABLE with alias 'z' for each of the article_item. CDATA stuff are handled automatically by SQLX (XML functionality integrated into Oracle's SQL)
-
Import Export using SQL Developer
People
I have 6 tables whose data must be exported from a database and imported into the other. The structure of the table constraints etc. is the same across both of the DB.
Database is 11g. Average amount of data in tables 5 is 2.5million contain lines and 1 340million.
Could you please suggest the best possible way to the export and import of data using SQL Developer. Developer SQL version 3.2.20.09
There is an option in the 'View' tab in Developer SQL by using 'DBA' but do not have s/n of these patterns. I am well aware expdp and impdp operations but it is managed by another team that can cause delays both want to do it myself.
Can we do expdp and impdp on SQL Developer without access s/n?
All of the suggestions.
Thank you
Simple method would be to create external table Using the ORACLE_DATAPUMP Access Driver. Its neat and fast.
http://docs.Oracle.com/CD/B28359_01/server.111/b28319/et_dp_driver.htm#i1007502
-
Question to load data using sql loader in staging table, and then in the main tables!
Hello
I'm trying to load data into our main database table using SQL LOADER. data will be provided in separate pipes csv files.
I have develop a shell script to load the data and it works fine except one thing.
Here are the details of a data to re-create the problem.
Staging of the structure of the table in which data will be filled using sql loader
create table stg_cmts_data (cmts_token varchar2 (30), CMTS_IP varchar2 (20));
create table stg_link_data (dhcp_token varchar2 (30), cmts_to_add varchar2 (200));
create table stg_dhcp_data (dhcp_token varchar2 (30), DHCP_IP varchar2 (20));
DATA in the csv file-
for stg_cmts_data-
cmts_map_03092015_1.csv
WNLB-CMTS-01-1. 10.15.0.1
WNLB-CMTS-02-2 | 10.15.16.1
WNLB-CMTS-03-3. 10.15.48.1
WNLB-CMTS-04-4. 10.15.80.1
WNLB-CMTS-05-5. 10.15.96.1
for stg_dhcp_data-
dhcp_map_03092015_1.csv
DHCP-1-1-1. 10.25.23.10, 25.26.14.01
DHCP-1-1-2. 56.25.111.25, 100.25.2.01
DHCP-1-1-3. 25.255.3.01, 89.20.147.258
DHCP-1-1-4. 10.25.26.36, 200.32.58.69
DHCP-1-1-5 | 80.25.47.369, 60.258.14.10
for stg_link_data
cmts_dhcp_link_map_0309151623_1.csv
DHCP-1-1-1. WNLB-CMTS-01-1,WNLB-CMTS-02-2
DHCP-1-1-2. WNLB-CMTS-03-3,WNLB-CMTS-04-4,WNLB-CMTS-05-5
DHCP-1-1-3. WNLB-CMTS-01-1
DHCP-1-1-4. WNLB-CMTS-05-8,WNLB-CMTS-05-6,WNLB-CMTS-05-0,WNLB-CMTS-03-3
DHCP-1-1-5 | WNLB-CMTS-02-2,WNLB-CMTS-04-4,WNLB-CMTS-05-7
WNLB-DHCP-1-13 | WNLB-CMTS-02-2
Now, after loading these data in the staging of table I have to fill the main database table
create table subntwk (subntwk_nm varchar2 (20), subntwk_ip varchar2 (30));
create table link (link_nm varchar2 (50));
SQL scripts that I created to load data is like.
coil load_cmts.log
Set serveroutput on
DECLARE
CURSOR c_stg_cmts IS SELECT *.
OF stg_cmts_data;
TYPE t_stg_cmts IS TABLE OF stg_cmts_data % ROWTYPE INDEX BY pls_integer;
l_stg_cmts t_stg_cmts;
l_cmts_cnt NUMBER;
l_cnt NUMBER;
NUMBER of l_cnt_1;
BEGIN
OPEN c_stg_cmts.
Get the c_stg_cmts COLLECT in BULK IN l_stg_cmts;
BECAUSE me IN l_stg_cmts. FIRST... l_stg_cmts. LAST
LOOP
SELECT COUNT (1)
IN l_cmts_cnt
OF subntwk
WHERE subntwk_nm = l_stg_cmts (i) .cmts_token;
IF l_cmts_cnt < 1 THEN
INSERT
IN SUBNTWK
(
subntwk_nm
)
VALUES
(
l_stg_cmts (i) .cmts_token
);
DBMS_OUTPUT. Put_line ("token has been added: ' |") l_stg_cmts (i) .cmts_token);
ON THE OTHER
DBMS_OUTPUT. Put_line ("token is already present'");
END IF;
WHEN l_stg_cmts EXIT. COUNT = 0;
END LOOP;
commit;
EXCEPTION
WHILE OTHERS THEN
Dbms_output.put_line ('ERROR' |) SQLERRM);
END;
/
output
for dhcp
coil load_dhcp.log
Set serveroutput on
DECLARE
CURSOR c_stg_dhcp IS SELECT *.
OF stg_dhcp_data;
TYPE t_stg_dhcp IS TABLE OF stg_dhcp_data % ROWTYPE INDEX BY pls_integer;
l_stg_dhcp t_stg_dhcp;
l_dhcp_cnt NUMBER;
l_cnt NUMBER;
NUMBER of l_cnt_1;
BEGIN
OPEN c_stg_dhcp.
Get the c_stg_dhcp COLLECT in BULK IN l_stg_dhcp;
BECAUSE me IN l_stg_dhcp. FIRST... l_stg_dhcp. LAST
LOOP
SELECT COUNT (1)
IN l_dhcp_cnt
OF subntwk
WHERE subntwk_nm = l_stg_dhcp (i) .dhcp_token;
IF l_dhcp_cnt < 1 THEN
INSERT
IN SUBNTWK
(
subntwk_nm
)
VALUES
(
l_stg_dhcp (i) .dhcp_token
);
DBMS_OUTPUT. Put_line ("token has been added: ' |") l_stg_dhcp (i) .dhcp_token);
ON THE OTHER
DBMS_OUTPUT. Put_line ("token is already present'");
END IF;
WHEN l_stg_dhcp EXIT. COUNT = 0;
END LOOP;
commit;
EXCEPTION
WHILE OTHERS THEN
Dbms_output.put_line ('ERROR' |) SQLERRM);
END;
/
output
for link -.
coil load_link.log
Set serveroutput on
DECLARE
l_cmts_1 VARCHAR2 (4000 CHAR);
l_cmts_add VARCHAR2 (200 CHAR);
l_dhcp_cnt NUMBER;
l_cmts_cnt NUMBER;
l_link_cnt NUMBER;
l_add_link_nm VARCHAR2 (200 CHAR);
BEGIN
FOR (IN) r
SELECT dhcp_token, cmts_to_add | ',' cmts_add
OF stg_link_data
)
LOOP
l_cmts_1: = r.cmts_add;
l_cmts_add: = TRIM (SUBSTR (l_cmts_1, 1, INSTR (l_cmts_1, ',') - 1));
SELECT COUNT (1)
IN l_dhcp_cnt
OF subntwk
WHERE subntwk_nm = r.dhcp_token;
IF l_dhcp_cnt = 0 THEN
DBMS_OUTPUT. Put_line ("device not found: ' |") r.dhcp_token);
ON THE OTHER
While l_cmts_add IS NOT NULL
LOOP
l_add_link_nm: = r.dhcp_token |' _TO_' | l_cmts_add;
SELECT COUNT (1)
IN l_cmts_cnt
OF subntwk
WHERE subntwk_nm = TRIM (l_cmts_add);
SELECT COUNT (1)
IN l_link_cnt
LINK
WHERE link_nm = l_add_link_nm;
IF l_cmts_cnt > 0 AND l_link_cnt = 0 THEN
INSERT INTO link (link_nm)
VALUES (l_add_link_nm);
DBMS_OUTPUT. Put_line (l_add_link_nm |) » '||' Has been added. ") ;
ELSIF l_link_cnt > 0 THEN
DBMS_OUTPUT. Put_line (' link is already present: ' | l_add_link_nm);
ELSIF l_cmts_cnt = 0 then
DBMS_OUTPUT. Put_line (' no. CMTS FOUND for device to create the link: ' | l_cmts_add);
END IF;
l_cmts_1: = TRIM (SUBSTR (l_cmts_1, INSTR (l_cmts_1, ',') + 1));
l_cmts_add: = TRIM (SUBSTR (l_cmts_1, 1, INSTR (l_cmts_1, ',') - 1));
END LOOP;
END IF;
END LOOP;
COMMIT;
EXCEPTION
WHILE OTHERS THEN
Dbms_output.put_line ('ERROR' |) SQLERRM);
END;
/
output
control files -
DOWNLOAD THE DATA
INFILE 'cmts_data.csv '.
ADD
IN THE STG_CMTS_DATA TABLE
When (cmts_token! = ") AND (cmts_token! = 'NULL') AND (cmts_token! = 'null')
and (cmts_ip! = ") AND (cmts_ip! = 'NULL') AND (cmts_ip! = 'null')
FIELDS TERMINATED BY ' |' SURROUNDED OF POSSIBLY "" "
TRAILING NULLCOLS
('RTRIM (LTRIM (:cmts_token))' cmts_token,
cmts_ip ' RTRIM (LTRIM(:cmts_ip)) ")". "
for dhcp.
DOWNLOAD THE DATA
INFILE 'dhcp_data.csv '.
ADD
IN THE STG_DHCP_DATA TABLE
When (dhcp_token! = ") AND (dhcp_token! = 'NULL') AND (dhcp_token! = 'null')
and (dhcp_ip! = ") AND (dhcp_ip! = 'NULL') AND (dhcp_ip! = 'null')
FIELDS TERMINATED BY ' |' SURROUNDED OF POSSIBLY "" "
TRAILING NULLCOLS
('RTRIM (LTRIM (:dhcp_token))' dhcp_token,
dhcp_ip ' RTRIM (LTRIM(:dhcp_ip)) ")". "
for link -.
DOWNLOAD THE DATA
INFILE 'link_data.csv '.
ADD
IN THE STG_LINK_DATA TABLE
When (dhcp_token! = ") AND (dhcp_token! = 'NULL') AND (dhcp_token! = 'null')
and (cmts_to_add! = ") AND (cmts_to_add! = 'NULL') AND (cmts_to_add! = 'null')
FIELDS TERMINATED BY ' |' SURROUNDED OF POSSIBLY "" "
TRAILING NULLCOLS
('RTRIM (LTRIM (:dhcp_token))' dhcp_token,
cmts_to_add TANK (4000) RTRIM (LTRIM(:cmts_to_add)) ")" ""
SHELL SCRIPT-
If [!-d / log]
then
Mkdir log
FI
If [!-d / finished]
then
mkdir makes
FI
If [!-d / bad]
then
bad mkdir
FI
nohup time sqlldr username/password@SID CONTROL = load_cmts_data.ctl LOG = log/ldr_cmts_data.log = log/ldr_cmts_data.bad DISCARD log/ldr_cmts_data.reject ERRORS = BAD = 100000 LIVE = TRUE PARALLEL = TRUE &
nohup time username/password@SID @load_cmts.sql
nohup time sqlldr username/password@SID CONTROL = load_dhcp_data.ctl LOG = log/ldr_dhcp_data.log = log/ldr_dhcp_data.bad DISCARD log/ldr_dhcp_data.reject ERRORS = BAD = 100000 LIVE = TRUE PARALLEL = TRUE &
time nohup sqlplus username/password@SID @load_dhcp.sql
nohup time sqlldr username/password@SID CONTROL = load_link_data.ctl LOG = log/ldr_link_data.log = log/ldr_link_data.bad DISCARD log/ldr_link_data.reject ERRORS = BAD = 100000 LIVE = TRUE PARALLEL = TRUE &
time nohup sqlplus username/password@SID @load_link.sql
MV *.log. / log
If the problem I encounter is here for loading data in the link table that I check if DHCP is present in the subntwk table, then continue to another mistake of the newspaper. If CMTS then left create link to another error in the newspaper.
Now that we can here multiple CMTS are associated with unique DHCP.
So here in the table links to create the link, but for the last iteration of the loop, where I get separated by commas separate CMTS table stg_link_data it gives me log as not found CMTS.
for example
DHCP-1-1-1. WNLB-CMTS-01-1,WNLB-CMTS-02-2
Here, I guess to link the dhcp-1-1-1 with balancing-CMTS-01-1 and wnlb-CMTS-02-2
Theses all the data present in the subntwk table, but still it gives me journal wnlb-CMTS-02-2 could not be FOUND, but we have already loaded into the subntwk table.
same thing is happening with all the CMTS table stg_link_data who are in the last (I think here you got what I'm trying to explain).
But when I run the SQL scripts in the SQL Developer separately then it inserts all valid links in the table of links.
Here, she should create 9 lines in the table of links, whereas now he creates only 5 rows.
I use COMMIT in my script also but it only does not help me.
Run these scripts in your machine let me know if you also get the same behavior I get.
and please give me a solution I tried many thing from yesterday, but it's always the same.
It is the table of link log
link is already present: dhcp-1-1-1_TO_wnlb-cmts-01-1 NOT FOUND CMTS for device to create the link: wnlb-CMTS-02-2
link is already present: dhcp-1-1-2_TO_wnlb-cmts-03-3 link is already present: dhcp-1-1-2_TO_wnlb-cmts-04-4 NOT FOUND CMTS for device to create the link: wnlb-CMTS-05-5
NOT FOUND CMTS for device to create the link: wnlb-CMTS-01-1
NOT FOUND CMTS for device to create the link: wnlb-CMTS-05-8 NOT FOUND CMTS for device to create the link: wnlb-CMTS-05-6 NOT FOUND CMTS for device to create the link: wnlb-CMTS-05-0 NOT FOUND CMTS for device to create the link: wnlb-CMTS-03-3
link is already present: dhcp-1-1-5_TO_wnlb-cmts-02-2 link is already present: dhcp-1-1-5_TO_wnlb-cmts-04-4 NOT FOUND CMTS for device to create the link: wnlb-CMTS-05-7
Device not found: wnlb-dhcp-1-13 IF NEED MORE INFORMATION PLEASE LET ME KNOW
Thank you
I felt later in the night that during the loading in the staging table using UNIX machine he created the new line for each line. That is why the last CMTS is not found, for this I use the UNIX 2 BACK conversion and it starts to work perfectly.
It was the dos2unix error!
Thank you all for your interest and I may learn new things, as I have almost 10 months of experience in (PLSQL, SQL)
-
Building xml in oracle without unnecessary tags using sql
I wanted to build XML in oracle using sql, I found a way to construction using sql functions after a little research, I am completely unaware of any XML. My query is
SELECT XMLELEMENT("orderwave",
XMLAGG(XMLELEMENT("order_header",
-- XMLATTRIBUTES(t2.l_name AS "order_number"),
XMLFOREST(
nvl(t2.l_name,' ') as "order_number",
(
SELECT XMLAGG(XMLELEMENT("order_line",
XMLFOREST( nvl(t1.l_name,' ') AS "label_type",
nvl(t1.l_num,0) AS "lpn",
nvl(t1.l_num,0) AS "sku"
)
)
)
FROM test_table t1
WHERE UPPER(t1.record_type)='D'
) AS sap
)
)
)
) AS HEADER
FROM test_table t2
WHERE UPPER(t2.record_type) ='H';My problem is for using xmlforest, I had to use alias name 'sap' in my query to work and to get xml output. If i am using that, I am getting an unwanted tag 'SAP' around my data which I have to later cut it, which is unacceptable. Is there a way I can get rid of this extra 'SAP' tag without having to cut. The output data is
<orderwave>
<order_header>
<order_number>order1</order_number>
<SAP>
<order_line>
<label_type>test1</label_type>
<lpn>1</lpn>
<sku>1</sku>
</order_line>
<order_line>
<label_type>test2</label_type>
<lpn>2</lpn>
<sku>2</sku>
</order_line>
<order_line>
<label_type />
<lpn>0</lpn>
<sku>0</sku>
</order_line>
</SAP>
</order_header>
<order_header>
<order_number>order2</order_number>
<SAP>
<order_line>
<label_type>test1</label_type>
<lpn>1</lpn>
<sku>1</sku>
</order_line>
<order_line>
<label_type>test2</label_type>
<lpn>2</lpn>
<sku>2</sku>
</order_line>
<order_line>
<label_type />
<lpn>0</lpn>
<sku>0</sku>
</order_line>
</SAP>
</order_header>
</orderwave>Any help is really appreciated and thanks in advance.
-- sample data with test_table as ( select 'H' record_type, 'order1' l_name, 0 l_num from dual union all select 'H' record_type, 'order2' l_name, 0 l_num from dual union all select 'D' record_type, 'test1' l_name, 1 l_num from dual union all select 'D' record_type, 'test2' l_name, 2 l_num from dual ) -- end of sample data select xmlelement ( "order_wave" , xmlagg ( xmlelement ( "order_header" , xmlelement("order_number", t1.l_name) , xmlagg ( xmlelement ( "order_line" , xmlelement("label_type", t2.l_name) , xmlelement("lpn", t2.l_num) , xmlelement("sku", t2.l_num) ) ) ) ) ) xml_data from test_table t1 cross join test_table t2 where t1.record_type = 'H' and t2.record_type = 'D' group by t1.l_name; -- output /*
order1 test1 1 1 test2 2 2 order2 test1 1 1 test2 2 2
Maybe you are looking for
-
I'm trying to reinstall Windows XP Home Edition due to a virus. I boot from the CD, everything seems to go well until the license agreement. I can't scroll the page and F8 does nothing. I can ESC but that's all. What I am doing wrong? Thank you.
-
Smartphones blackBerry in Israel and the phone said App World is not available in my country
Hello, I just bought a new Blackberry Bold 9700 in Israel, and the phone tells me that app World is not available in my country. I hope Blackberry plans to fix it soon as the i-phone and androids are open here to their app worlds. Anyway, is there a
-
Illustrator problem - dividing objects is one of the objects disappear
I am putting a vector that has been traced a jpg - when I try to remove a small shape 'dividing' of the object in the background using tools of pathfinder - the rest form the background object is deletedAny ideas greatly appreciated.
-
Mini Bridge for InDesign CC is not available
I recently installed InDesign CC and bridge CC (64-bit). I would like to use the mini Bridge, but it does not appear in the menu windows even when the bridge is running. By clicking the bridge icon in the upper part opens the desktop version of the b
-
LR does not see the iPhone 6, but used for
Running on Macbook/Yosemite LR4. Allows you to import photos via iPhone wire 6. Now LR does not see the phone. Recently upgraded to OS Mavericks - is this the cause of the problem?