Insert an encrypt data in a Table
Hi all,
i have encrypted a data with HmacMD5, all its fine. but when i've tried to insert encrypt data in my table, hash code may return symbols like �?��Z��x��. then when i do a select data has been corrupted. how can i encrypted in stardand symbols( like mysql passwords). here is my code:
KeyGenerator kg = KeyGenerator.getInstance("HmacMD5");
SecretKey sk = kg.generateKey();
// Get instance of Mac object implementing HMAC-MD5, and
// initialize it with the above secret key
Mac mac = Mac.getInstance("HmacMD5");
mac.init(sk);
byte[] result = mac.doFinal(dirMAC.getBytes());
String macenc=new String(result);
String x = "jdbc:mysql://localhost/"+
"mydatabase?user="+user+"&password="+
pass;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(x);
conn.createStatement().executeUpdate("insert into user " +
"(User,Password) values('system','"+myPass+"')");
java.sql.ResultSet rs=conn.createStatement().executeQuery("select password "+
"from " +"user where user ='system' ");
rs.next();
if((rs.getString(1).equals(macenc))) {
System.out.println(rs.getString(1)+" YES "+macenc);
} else {
System.out.println(rs.getString(1)+" NO "+macenc);
}Output NO. and sometimes when hash has (') character Query not found.
thanks.
Thie is most probably the offending line
String macenc=new String(result);
It is never a good idea to try to convert arbitrary bytes into a String using this approach. Not all byte sequences have valid char representation. If you must have a String representation use Base64 or Hex encoding of your Hmac. Google for Jakarta Commons Codec to get a library to assist you with this.
Similar Messages
-
Insert old missing data from one table to another(databaase trigger)
Hello,
i want to do two things
1)I want to insert old missing data from one table to another through a database trigger but it can't be executed that way i don't know what should i do in case of replacing old data in table_1 into table_2
2)what should i use :NEW. OR :OLD. instead.
3) what should i do if i have records exising between the two dates
i want to surpress the existing records.
the following code is what i have but no effect occured.
CREATE OR REPLACE TRIGGER ATTENDANCEE_FOLLOWS
AFTER INSERT ON ACCESSLOG
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
V_COUNT NUMBER(2);
V_TIME_OUT DATE;
V_DATE_IN DATE;
V_DATE_OUT DATE;
V_TIME_IN DATE;
V_ATT_FLAG VARCHAR2(3);
V_EMP_ID NUMBER(11);
CURSOR EMP_FOLLOWS IS
SELECT EMPLOYEEID , LOGDATE , LOGTIME , INOUT
FROM ACCESSLOG
WHERE LOGDATE
BETWEEN TO_DATE('18/12/2008','dd/mm/rrrr')
AND TO_DATE('19/12/2008','dd/mm/rrrr');
BEGIN
FOR EMP IN EMP_FOLLOWS LOOP
SELECT COUNT(*)
INTO V_COUNT
FROM EMP_ATTENDANCEE
WHERE EMP_ID = EMP.EMPLOYEEID
AND DATE_IN = EMP.LOGDATE
AND ATT_FLAG = 'I';
IF V_COUNT = 0 THEN
INSERT INTO EMP_ATTENDANCEE (EMP_ID, DATE_IN ,DATE_OUT
,TIME_IN ,TIME_OUT,ATT_FLAG)
VALUES (TO_NUMBER(TO_CHAR(:NEW.employeeid,99999)),
TO_DATE(:NEW.LOGDATE,'dd/mm/rrrr'), -- DATE_IN
NULL,
TO_DATE(:NEW.LOGTIME,'HH24:MI:SS'), -- TIME_IN
NULL ,'I');
ELSIF V_COUNT > 0 THEN
UPDATE EMP_ATTENDANCEE
SET DATE_OUT = TO_DATE(:NEW.LOGDATE,'dd/mm/rrrr'), -- DATE_OUT,
TIME_OUT = TO_DATE(:NEW.LOGTIME,'HH24:MI:SS'), -- TIME_OUT
ATT_FLAG = 'O'
WHERE EMP_ID = TO_NUMBER(TO_CHAR(:NEW.employeeid,99999))
AND DATE_IN <= (SELECT MAX (DATE_IN )
FROM EMP_ATTENDANCEE
WHERE EMP_ID = TO_NUMBER(TO_CHAR(:NEW.employeeid,99999))
AND DATE_OUT IS NULL
AND TIME_OUT IS NULL )
AND DATE_OUT IS NULL
AND TIME_OUT IS NULL ;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS THEN RAISE;
END ATTENDANCEE_FOLLOWS ;
Regards,
Abdetu..INSERT INTO SALES_MASTER
( NO
, Name
, PINCODE )
SELECT SALESMANNO
, SALESMANNAME
, PINCODE
FROM SALESMAN_MASTER;Regards,
Christian Balz -
Issue while insert and update data to DB tables
Hello all,
i am having an issue while insert the data to DB table.
my scenario is DB1 to DB2. i had a sender channel with select query which fetches data from DB1 and inserts to DB2.
so the select query will fetch the records that were INSERTED to DB1 and records that were UPDATED to DB1 and needs to insert/update to DB2 table.
Now the issue is i am able to insert the records but not able toupdate the records to DB2 table due to primary key issue.
im message mapping
sender message type is as follows:
<src_message1>
----<row>
-------<fieldA>
-------<filedB>
-------<filedC>
Receiver message type as follows:
<trgt_message1>
----<STATEMENT_1>
----<TABLE_NAME>
----<ACTION> INSERT
----<TABLE>
----<ACCESS>
----<field1> primary key
----<field2>
----<field3>
----<field4>
----<KEY>
----<field1>
----<field2>
----<field3>
----<field4>
my query in sender channel is : select filedA, filedB, filedC from test_table where createdate=sysdate or updatedate=sysdate
so it feteches the data from DB1 and inserting to DB2 but not updating the records to DB2 due to primarykey issue.
please suggest how to solve ....will it solve by using UPDATE_INSERT for action?
Best Regards,SARANHi Nagarjuna,
i have done the following changes to target mapping structure;
1. action as UPDATE_INSERT
2. in access tab, i had mapped fieldDate to field4.
3. in Key tab, i assigned the sysdate to field4.
but issue still exist. could you please check my above changes are correct or not. if wrong please provide me the details that needs to be done.
thanks in advance.
i'm providing the error details again:
my query in sender channel is : select filedA, filedB, filedC, FiledDate from TEST_TABLE where fieldDate=sysdate or updatedate=sysdate
it returns 4 records as follows:
fieldA--fieldB-fieldC---fieldDate
1001----EU---- 1----
2011-11-10
1002----CN---- 0----
2011-11-10
1003----AP---- 1----
2008-03-15 (already exist in DB2)
1004----JP---- 1----
2007-04-12 (already exist in DB2)
the first two records are created today and remaining 2 records are updated the fieldC from 0 to 1 ( in DB1 )
while inserting these 4 records to DB2, we get the following error "java.sql.SQLException: ORA-00001: unique constraint (data.TEST_TABLE_PK) violated" .
Best Regards,SARAN -
Insert record via data tab of table detail display
I am using SQL Developer 3.0.04
When I tries to insert more than 200 rows into a table via data tab of table detail display, it takes more than 8 minutes. It takes more than 19 minutes for 400+ rows. It is slow and it is not so slow in previous version (e.g. 1.5.4)
Had anyone experienced the same issue and is there any workaround (other than loading data via SQL loader and stop using SQL Developer)?
[Timer of SQL Developer 3.0| http://i.imgur.com/KVAdI.png]I've seen this also sometimes but i rarely load large amount of data using SQLDeveloper anyway.
Please make sure you have patch1 installed and provide information on the database used.
You can check if patch1 is installed at the
Help -> About -> Extensionyou should find a "SQL Developer Patch" entry there. -
Trigger problem -- can't insert the same data into audit table
Sir/Madam,
I'm trying to use insert trigger with a 'long raw' datatype data for my audit purpose. Each time, the data of original table can be inserted correctly. While the trigger for audit table in which it contains almost the same data as original would failed. The error messages are some thing like following:
java.sql.SQLException: ORA-01461: can bind a LONG value only for insert into a LONG column
ORA-06512: at "CORPSEC.TI_ARCHIVE_PDF", line 9
ORA-04088: error during execution of trigger 'CORPSEC.TI_ARCHIVE_PDF'
If the column with 'long raw' datatype is taken out, then there is no error at all. I'm using Oracle 8i 8.1.6 for Windows NT and suspect there is bug in PL/SQL execution.
The following are SQL text for the trigger:
CREATE OR REPLACE TRIGGER "CORPSEC"."TI_ARCHIVE_PDF" AFTER INSERT ON "ARCHIVE_PDF" FOR EACH ROW DECLARE
LOG_SEQ_NO NUMBER;
BEGIN
SELECT AUDIT_SEQ.NEXTVAL INTO LOG_SEQ_NO FROM DUAL
insert into ad_archive_pdf (DOC_TITLE,PDF_FILENAME,CONTENT,DOC_DESC,AUDIT_REF_NO,AUDIT_DATE,AUDIT_MODE,AUDIT_BY)
values (:new.DOC_TITLE,:new.PDF_FILENAME,:new.CONTENT,:new.DOC_DESC,LOG_SEQ_NO,sysdate,'I',:new.created_by);
END;
Any help on this. Thank in advance.
Best regards,
RuijieSee here for a discussion of how to incorporate LONG datatypes into triggers:
http://asktom.oracle.com/pls/ask/f?p=4950:8:635439::NO::F4950_P8_DISPLAYID -
INSERTION OF XML DATA INTO THE TABLE USING XMLDOM
hello,
i am using XMLDOM to insert the data into the table
i am using different function of it.
but i am facing the problem to retrive the the multiple entry.
like in my example i have two entry of the ' po number '
& i am using the function
dbms_xmldom.item(l_nodelist, 0)
i which i have to pass index no.
& through this i am getting only single entry according to the index no.
Example on which i am working is
declare
l_xml_data CLOB;
l_xml_doc dbms_xmldom.domdocument;
l_nodelist dbms_xmldom.DOMNodeList;
l_node dbms_xmldom.domnode;
l_xmltype XMLTYPE;
l_po_num VARCHAR2(30);
l_cust_ord VARCHAR2(30);
l_item_code VARCHAR2(30);
begin
l_xml_data := '<?xml version="1.0" encoding="UTF-8"?>
<!--DOCTYPE MobileInventoryResponse SYSTEM "MobileInventoryResponse.dtd"-->
<MobileInventoryResponse>
<message>
<message-header>
<message-id>16244182</message-id>
<transaction-name>ship-advice</transaction-name>
<partner-name>cbeyond</partner-name>
<source-url>http://www.brightpoint.com</source-url>
<create-timestamp>20080826150709</create-timestamp>
<response-request>1</response-request>
</message-header>
<ship-advice>
<header>
<customer-id>297859</customer-id>
<shipment-information>
<ship-first-name>RA_13Aug_1</ship-first-name>
<ship-last-name>MIND</ship-last-name>
<ship-address1>test</ship-address1>
<ship-city>test</ship-city>
<ship-state>VA</ship-state>
<ship-post-code>22102-4931</ship-post-code>
<ship-country-code>US</ship-country-code>
<ship-phone1>0040726335068</ship-phone1>
<ship-email>[email protected]</ship-email>
<ship-via>FX01</ship-via>
<ship-request-date>20080826</ship-request-date>
<ship-request-warehouse>CBY1</ship-request-warehouse>
</shipment-information>
<purchase-order-information>
<purchase-order-number>380928</purchase-order-number>
<purchase-order-number>380929</purchase-order-number> ----modi by Ananda Dubey
<account-description/>
<purchase-order-amount>0.0</purchase-order-amount>
<currency-code>USD</currency-code>
</purchase-order-information>
<order-header>
<customer-order-number>0002759</customer-order-number>
<customer-order-date>20080826</customer-order-date>
<order-sub-total>19.0</order-sub-total>
<order-discount>0.0</order-discount>
<order-tax1>0.0</order-tax1>
<order-tax2>0.0</order-tax2>
<order-tax3>0.0</order-tax3>
<order-shipment-charge>18.0</order-shipment-charge>
<order-total-net>0.0</order-total-net>
<order-status>Completed</order-status>
<order-type/>
<brightpoint-order-number>35028788</brightpoint-order-number>
<warehouse-id>CBY1</warehouse-id>
<ship-date>20080826</ship-date>
</order-header>
</header>
<detail>
<line-item>
<line-no>1</line-no>
<item-code>SKU1</item-code>
<universal-product-code>0</universal-product-code>
<ship-quantity>1.0</ship-quantity>
<unit-of-measure>EA</unit-of-measure>
<serial-list>
<serial-numbers>
<esn>TIMI000013</esn>
</serial-numbers>
</serial-list>
<line-status/>
<base-price>0.0</base-price>
<line-discount>0.0</line-discount>
<line-tax1>0.0</line-tax1>
<line-tax2>0.0</line-tax2>
<line-tax3>0.0</line-tax3>
<bill-of-lading>929406733828</bill-of-lading>
<scac>FX01</scac>
</line-item>
</detail>
</ship-advice>
<transactionInfo>
<eventID>16244182</eventID>
</transactionInfo>
</message>
</MobileInventoryResponse>';
l_xml_doc := dbms_xmldom.newDomDocument(l_xml_data);
-- Method 1 to get data
l_nodelist := dbms_xmldom.getelementsbytagname(l_xml_doc, 'purchase-order-number');
l_node := dbms_xmldom.item(l_nodelist, 0); -- gets first item from list
l_po_num := dbms_xmldom.getnodevalue(dbms_xmldom.getfirstchild(l_node));
dbms_output.put_line(l_po_num);
l_nodelist := dbms_xslprocessor.selectnodes(dbms_xmldom.makenode(l_xml_doc),
'/MobileInventoryResponse/message/ship-advice/detail/line-item/item-code');
l_node := dbms_xmldom.item(l_nodelist, 0); -- gets first item from list
l_item_code := dbms_xmldom.getnodevalue(dbms_xmldom.getfirstchild(l_node));
dbms_output.put_line(l_item_code);
l_xmltype := XMLTYPE(l_xml_data);
l_cust_ord := l_xmltype.extract('/MobileInventoryResponse/message/ship-advice/header/order-header/customer-order-number/text()').getStringVal();
dbms_output.put_line(l_cust_ord);
dbms_xmldom.freeDocument(l_xml_doc);
end;
/In the following code
l_nodelist := dbms_xmldom.getelementsbytagname(l_xml_doc, 'purchase-order-number');
l_node := dbms_xmldom.item(l_nodelist, 0); -- gets first item from listYou need to understand what the second parm on the .item call does. See [dbms_xmldom.item|http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_xmldom.htm#i1126138]
The nodelist is a 0 based array of information and you are only requesting to pull the node info in the first array position. So to get the info in the second array position, you need to use ", 1)". You can also use .getLength and a loop to parse through everything in the node list. -
How to avoid duplicate data while inserting from sample.dat file to table
Hi Guys,
We have issue with duplicate data in flat file while loading data from sample.dat file to table. How to avoid duplicate data in control file.
Can any one help me on this.
Thanks in advance!
Regards,
LKRNo, a control file will not remove duplicate data.
You would be better to use an external table and then remove duplicate data using SQL as you query the data to insert it to your destination table. -
Inserting and manipulating data in object tables resulting from inheritance
Dear All,
Let's say we have the following definitions:
create type t1 as object(x number) not final;
create type t2 under t1(y number);
create table t1t of t1;
create table t2t of t2;
If I want to insert a new row in t1t I can do insert into t1t values(t1(1));
How would I deal with the case of t2? I tried
insert into t2t
select z(12, select value(e).x from t1t e where e.x=12))
to no availability.
How can I run an insert in t2t without replicating the information of the parent object of t1?
Regards,
JimHi Parmar18,
Regarding your description, the rows are having same pattern with tabs(CHAR(9)) as delimiter in between dates and amounts, what is the delimiter between in a date and amount pair then? I suppose that is a space(CHAR(32)), you can reference the below sample
to code to achieve your requirement.
DECLARE @Str VARCHAR(MAX)
DECLARE @T TABLE(ID INT, String VARCHAR(MAX))
INSERT INTO @T VALUES(1,'immediate due 14,289.00 04/15/15 5,213.00 05/15/15 5,213.00 06/15/15 5,213.00 07/15/15 5,213.00 08/15/15 5,213.00 09/15/15 5,213.00 10/15/15 5,213.00 11/15/15 5,210.00')
INSERT INTO @T VALUES(2,'04/15/15 5,213.00 05/15/15 5,213.00 06/15/15 5,213.00 immediate due 14,289.00 07/15/15 5,213.00 08/15/15 5,213.00 09/15/15 5,213.00 10/15/15 5,213.00 11/15/15 5,210.00')
SELECT ID,
SUBSTRING(StringLiteral,1,CHARINDEX(CHAR(32),StringLiteral)) AS DATE,
RIGHT(StringLiteral,LEN(StringLiteral)-CHARINDEX(CHAR(32),StringLiteral)) AS AMOUNT
FROM @T
CROSS APPLY
(SELECT REPLACE(StringLiteral,'immediate due',CONVERT(VARCHAR(8),GETDATE(),1)) StringLiteral FROM dbo.fnSplitDelimitedStringList(String,CHAR(9))) AS CAT
The User-Defined Function fnSplitDelimitedStringList is referenced from
here.
If you have any question, feel free to let me know.
Eric Zhang
TechNet Community Support -
How to insert large xml data into database tables.
Hi all,
iam new to xml. i want to insert data in xml file to my database tables.but the xml file size is very large. performance is also one of the issue. can anybody please tell me the procedure to take xml file from the server and insert into my database tables.
Thanks in advanceUnfortunately posting very generic questions like this in the forum tends not to be very productive for you, me or the other people who read the forum. It really helps everyone if you take a little time to review existing posts and their answers before starting new threads which replicate subjects that have already been discussed extensively in previous threads. This allows you to ask more sensible questions (eg, I'm using this approach and encountering this problem) rather than extremely generic questions that you can answer yourself by spending a little time reviewing existings posts or using the forum's search feature.
Also in future your might want to try being a little more specific before posting questions
Eg Define "very large". I know of customers who thing very large is 100K, and customers who think 4G is medium. I cannot tell from your post what size your files are.
What is the content of the file. Is it going to be loaded into a single record, or a a single table, or will it need to be loaded into multiple records in a single table or multiple records in multiple tables ?
Do you really need to load the data into exsiting relational tables or could your application work with relational views of the XML Content.
Finally which release of the database are you working with.
Define performance. Is it reasonable to expect to process this kind of document on this machine (Make, memory, #number of CPUs, CPU Speed, number of discs) in this period of time.
WRT to your original question. If you take a few minutes to search this forum you will find a very large number of threads with very similar titles to yours. These theads document a number of different approaches that can be used to solve this problem.
I suggest you start by looking for threads that cover topics like DBMS_XMLSTORE, XMLTable(), Relational Views of XML content, loading XML content in relational tables. -
How to insert wifi scan data into sql table
Urgent assist required. Can someone help pls, i have scanned wifi data in C# that i have split into required format MAC,SSID and RSSi . I want when i push a button the results are inserted into an sql table that i already created. and if i push the buton
again it stops inserting. I have tried several methods and could not get it to work, Will appreciate assist
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;
namespace WICED_SERIALPORT_TEST
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void button1_Click(object sender, EventArgs e)
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
comboBox1.Items.Add(port);
string t;
private void button2_Click(object sender, EventArgs e)
t = comboBox1.Text.ToString();
sErial(t);
SerialPort sp;
void sErial(string Port_name)
sp = new SerialPort(Port_name, 115200, Parity.None, 8, StopBits.One);
sp.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
sp.Open();
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
SerialPort sp = (SerialPort)sender;
string msg = string.Empty;
bool canCont = false;
while (!canCont)
msg += sp.ReadLine();
if (msg.Contains("Scan complete "))
canCont = true;
//string w = sp.ReadLine();
//string w = sp.ReadExisting();
// string msg = sp.ReadExisting();
string[] msgArr = msg.Split('\r');
Invoke(new Action(() => listBox1.Items.Clear()));
List<string[]> list = new List<string[]>();
List<Networks> Scan = new List<Networks>();
for (int i = 0; i < msgArr.Length; i++)
list.Add(msgArr[i].Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries));
for (int i = 0; i < list.Count; i++)
if (i > 2)
if (list[i].Length > 4)
int numOfSplits = 0;
List<string> tempList = new List<string>();
for (int ii = 0; ii < list[i].Length; ii++)
if (numOfSplits < 6)
string[] temp1 = list[i][ii].Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
numOfSplits += temp1.Length;
for (int iii = 0; iii < temp1.Length; iii++)
tempList.Add(temp1[iii]);
else
tempList.Add(list[i][ii]);
Scan.Add(new Networks()
ID = Convert.ToInt32(tempList[0]),
NetworkType = tempList[1],
MAC = tempList[2],
RSSi = Convert.ToInt32(tempList[3]),
Rate = Convert.ToDouble(tempList[4]),
Channel = Convert.ToInt32(tempList[5]),
Security = tempList[6],
SSID = tempList[7],
if (msg != String.Empty)
Invoke(new Action(() => richTextBox1.AppendText(msg)));
for (int i = 0; i < Scan.Count; i++)
Invoke(new Action(() => listBox1.Items.Add(Scan[i].MAC)));
Invoke(new Action(() => listBox2.Items.Add(Scan[i].RSSi)));
Invoke(new Action(() => listBox3.Items.Add(Scan[i].SSID)));
msg = string.Empty;
list.Clear();
private void richTextBox1_TextChanged(object sender, EventArgs e)
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
private void richTextBox2_TextChanged(object sender, EventArgs e)
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
private void Form1_Load(object sender, EventArgs e)
public SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\AP_SCAN_DATA.mdf;Integrated Security=True");
private void button3_Click(object sender, EventArgs e)
using (SqlConnection connection = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\AP_SCAN_DATA.mdf;Integrated Security=True"))
using (SqlCommand command = new SqlCommand())
command.Connection = connection; // <== lacking
command.CommandType = CommandType.Text;
command.CommandText = "INSERT into LOCATIONSCAN ((Scan[i].SSID),(Scan[i].MAC), (Scan[i].RSSi)) VALUES (@SSID, @MAC, @RSSi)";
command.Parameters.AddWithValue("@SSID", listBox1);
command.Parameters.AddWithValue("@MAC", listBox2);
command.Parameters.AddWithValue("@RSSi",listBox3);
try
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
catch(SqlException)
// error here
finally
connection.Close();Hello,
Remove the Try-Catch as this hides any errors that may be raised. It is unwise to use a Try-Catch this way, always when using a Try-Catch write code that alerts or writes to a log file. Also, there is no need for invoke Close method for the connection object,
the Using statement closes the connection for you.
Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem. -
How to insert encrypted data by using blowfish into mysql database
Hi
I have encrypted data using blowfish algorithm . And i tried to insert that encrypted data into mysql. it was stored but i dont know that it stores in the same encrypted formate
When i am trying to get the encrypted data from the mysql database and decrypting that data i am getting errors.
Exception are like
input length should be multiple of 8 bits
or Given block are not properly padded
and when i am displaying the data using system.out.println ();
the string is not similar to the string which is in database.
what is the problem how can i solve my problem
thank youIt sounds like your column is a VARCHAR so you need to Base64 or Hex encode the cipertext bytes before putting them in the database.
-
How can i Configure JDBC Receiver Adapter to INSERT data in multiple tables
Hi ,
I want to INSERT data in 4 diffrent tables.
Input Data Format is:
<H1>
<d1></d1>
<d2></d2>
</H1>
I want to insert <H1> Header data in particular table & all the details data<D1> in their corresponding table.
Note that Header Can't repeat but Details records are repeating again & again.
Is it possible to write Multiple INSERT STATEMENT in single Data Type.??
I mean to say can we write STATEMENT keyword again & again. if yes HOW ?Hi
see below links.
http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
Regards
Chilla.. -
How to load xml data into a table
Hi,
i am a newbie. I want to insert the data of xml file into a table. I am doing this using XSU api for java.
I am using oracle 9i and jdk 1.7.
I am using OracleXmlSave class.
but i am getting following error.
java.lang.NoClassDefFoundError: oracle/jdbc2/Clob
Please help in this regard. this is my first thread.
thanks.
Edited by: 979682 on Jan 3, 2013 3:39 AMHi,
You can insert XML data from XML file to Oracle database by this script :
Hi,
For reading and inserting the data from XML file to Oracle Database :
1. CREATE A BLANK TABLE with same structure as XML file :
select * from xml_test
2. SELECT QUERY DIRECTLY ON XML FILE :
SELECT XMLTYPE(bfilename('TEST_DIR', 'data_file.xml'), nls_charset_id('UTF8')) xml_data FROM dual
3. CREATE ORACLE DIRECTORY AND PLACE XML FILE IN THIS DIRECTORY LOCATION:
--CREATE DIRECTORY TEST_DIR as '/oracle/test';
--grant all on directory TEST_DIR to public;
4. INSERT THE XML DATA IN ORACLE TABLE:
INSERT INTO xml_test(column1,coumn2)
WITH t AS (SELECT XMLTYPE(bfilename('TEST_DIR', 'attachment.xml'), nls_charset_id('UTF8')) xml_col FROM dual)
SELECT
extractValue(value(x),'/ROW/COLUMN1') column1
,extractValue(value(x),'ROW/COLUMN2') column2
FROM t,TABLE(XMLSequence(extract(t.xml_col,'/ROWSET/ROW'))) x;
I have assumed a table with 2 columns.
Regards,
Rohit Chaudhari
[email protected] -
Inserting data into one table using another table
Hi i have 2 tables
CREATE TABLE N_SET
N_ST_ID NUMBER(38) NOT NULL, ---- PK
N_ST_NM VARCHAR2(50 BYTE) NOT NULL,
N_ST_DSC VARCHAR2(200 BYTE),
DFTID NUMBER ------ FK
CREATE TABLE RZ
NST_ID NUMBER(38) NOT NULL, ---- FK
RID NUMBER(38) NOT NULL, --- PK
RNM VARCHAR2(30 BYTE) NOT NULL
I entered the data into the N_SET table using sequence in column N_ST_ID (using procedure)
Now i need to enter the data into RZ table where NST_ID should contain the value of N_SET.N_ST_ID
so for this i've written another procedure
but confused how to write the select statement to retrieve the above condition..
Could you help me in this please...Hi,
I have a table Target whose structure is
create table employee
id VARCHAR2(20),
name VARCHAR2(20),
employee_seq NUMBER not null
-- Create sequence
create sequence test_seq
minvalue 1
maxvalue 999999999999999999999999999
start with 5
increment by 1
nocache
cycle;
create table emp
id VARCHAR2(20)
name VARCHAR2(20)
INSERT INTO emp
( id, name )
VaLUES ( '100','test1');
commit;
INSERT INTO emp
( id, name )
VaLUES ( '100','test2');
commit;
i have to insert into the TARGET table the fsa value from
SOURCE table along with the sequence number using sequence test_seq.nextval.
INSERT INTO employee
( id, name, employee_seq )
SELECT id, ename, ( select test_seq.nextval from dual )
FROM emp ; -
Inserting data from one table to another in different format
Hello,
I would like to know what I am doing wrong with the following code when I write a data from one another to another table in a different format. I am now learning PL/SQL and am using this as
a test problem.
I have a table called students which has the following columns:
SQL> desc student
Name Null? Type
----------- ----------------STUDENT_ID NUMBER(10)
COURSE VARCHAR2(10)
CREDITS NUMBER(10)
I have created another table called new_student which has the following structure:
SQL> desc new_student
Name Null? Type
----------------------------------------- -------- ------------- STUDENT_ID NUMBER(10)
COURSE VARCHAR2(30)
CREDITS VARCHAR2(10)
The data in the student table is:
SQL> select * from student;
STUDENT_ID COURSE CREDITS
1 Science 4
1 History 3
2 Science 4
2 History 3
2 Math 4
3 Sociology 3
3 Psycology 3
I want to store the STUDENT table data in NEW_STUDENT table as:
STUDENT ID COURSES CREDITS
1 Science/History 4/3
2 Science/History/Math 4/3/4
3 Sociology/Psycology 3/3
This is my code:
DECLARE
-- Get all the student IDs
CURSOR studentlist_cursor IS select distinct student_id from student ORDER BY student_id;
-- Get the information for each student ID
CURSOR courses_cursor(nstudentid number) is select course, credits from student where student_id=nstudentid;
nIndex INTEGER;
pltcourses DBMS_SQL.VARCHAR2_TABLE;
pltcredits DBMS_SQL.NUMBER_TABLE;
newcourses varchar2(50);
newcredits varchar2(10);
BEGIN
FOR student_rec IN studentlist_cursor
LOOP
nIndex:=0;
-- Loop through each student ID from student_rec to get the
--courses and creditsstudent ID
FOR courses_rec in courses_cursor(student_rec.student_id)
LOOP
nIndex:=nIndex+1;
pltcourses(nIndex):=courses_rec.course;
-- Store the course data for each student ID in newcourses
-- while doing so check if it is null or put a '/' between each course
loop
if newcourses is null then
newcourses:=pltcourses(nIndex);
else
newcourses:=newcourses||'/'||pltcourses(nIndex);
end if;
end loop;
pltcredits(nIndex):=courses_rec.credits;
--Store credits data in variable newcredits
--If the newcredits is not null then put a '/' between each credits
loop
if newcredits is null then
newcredits:=pltcredits(nIndex);
else
newcredits:=newcredits||'/'||pltcredits(nIndex);
end if;
end loop;
-- Insert student id, newcourses, newcredits into NEW_STUDENT
INSERT INTO NEW_STUDENT
(student_id ,
course,
credits
) VALUES
(student_rec.student_id,
newcourses,
newcredits
COMMIT;
-- come out of the student id record and go to the next student --id record
END LOOP;
-- come out of the loop
END LOOP;
END;
While doing so I get an error message:
declare
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 23.
The error is at the line:
newcourses:=newcourses||'/'||pltcourses(nIndex);
Can anyone help me by pointing out where the mistake is?
Thank you for reading this long mail.
Thank you.
Rama.Hi dude
there is lot of error in ur pl/sql.
and u have created table new_student with columns
student_id number(10),
courses varchar2(30),
credits number(10).
first u need to modify ur table.
student_id number(10),
courses varchar2(30),
credits varchar2(10).
Now i am writing whole pl/sql block for u. it will work fine.
DECLARE
CURSOR studentlist_cursor IS select distinct student_id from student ORDER BY student_id;
CURSOR courses_cursor(nstudentid number) is select course, credits from student
where student_id = nstudentid;
nIndex INTEGER;
pltcourses DBMS_SQL.VARCHAR2_TABLE;
pltcredits DBMS_SQL.NUMBER_TABLE;
newcourses varchar2(50);
newcredits varchar2(10);
BEGIN
FOR student_rec IN studentlist_cursor
LOOP
nIndex:=0;
newcourses := null;
newcredits := null;
FOR courses_rec in courses_cursor(student_rec.student_id)
LOOP
nIndex:=nIndex+1;
pltcourses(nIndex):=courses_rec.course;
if newcourses is null then
newcourses:=pltcourses(nIndex);
else
newcourses:=newcourses||'/'||pltcourses(nIndex);
end if;
pltcredits(nIndex):=courses_rec.credits;
if newcredits is null then
newcredits:=pltcredits(nIndex);
else
newcredits:=newcredits||'/'||pltcredits(nIndex);
end if;
end loop;
INSERT INTO NEW_STUDENT
(student_id,
course) VALUES
(student_rec.student_id,
newcourses);
END LOOP;
END;
and please revert back
Regards
Anil
Maybe you are looking for
-
Can i turn in my ipod for a new photo or video?
I purchased my ipod this past summer for 300 dollars. it is a 20 GB. does apple have any trade in policies or a replacement system? i kno there would probably be a fee added.
-
Oracle 10.1.0.4 on Windows Server 2008 64 bits Standard
Hello, For migratiion purposes, we would need to install Oracle 10.1.4.0 on a Windows Server 2008 64 bits Standard, and then upgrade it to 11g. We have forced Oracle 10.2.0.4 installation on a Windows Server 2008 64 bits Standard, but we are not sure
-
MM02: Updating characterstics in PO text and Material description
Hello Experts, I have a requirement wherein, I have to update the characterstics of a material to the Po text and Material description as soon as they are changed in MM02. At present there is a custom program doing the same,but I need to automate it,
-
Music imported into iTunes from CD's
i tried to find a thread about this topic but was unable. howcome i can't take music from cd's that i've purchased at best buy and drag them onto my iPhone? or is there a way that i am missing? again, i apologize if there is a thread about this alrea
-
Error connecting 8i DB from Jdev 11g
Hi All- I am trying to connect to 8.1.7 version Database from JDeveloper 11.1.1.4. Am getting error "Unsupported database version". I google for this error and found the 11.1.1.4 JDBC driver does not support 8i DB, so we need to download the previous